- 博客(1603)
- 收藏
- 关注
原创 形象的理解相位
相位描述信号波形变化的度量,通常以度 (角度)作为单位,也称作相角。当信号波形以周期的方式变化,波形循环一周即为360°。简谐运动中的相位差如果两个简谐运动的频率相等,其初相位分别是φ1,φ2。当φ2>φ1时,他们的相位差是△φ=(ωt+φ2)-(ωt+φ1)=φ2-φ1,此时我们常说2的相位比1超前△φ。如果没有相位噪声,那么振荡器的整个功率都应集中在频率f=fo处。但相位噪声的出现将振荡器的一部分功率扩展到相邻的频率中去,产生了边带。
2024-04-06 11:38:51 412
原创 C++中用new和不使用new创建对象的区别实例详解
一般来说对于一个进程栈的大小远远小于堆的大小,在Window下,栈的大小是2MB,Linux下,默认栈空间大小为8MB。对于堆,比如32位系统最大不超过2G,而64位系统最大不超过4G,当需要分配一个非常大的内存时,请用new。栈是机器系统提供的数据结构,计算机会在底层对栈提供支持:分配专门的寄存器存放栈的地址,压栈出栈都有专门的指令执行,这就决定了栈的效率比较高。
2024-04-06 11:18:05 239
原创 C++ 与Qt之间的关系概念
Qt 提供了 C++ 库:Qt 提供了许多 C++ 库,如 Qt Core、Qt GUI、Qt Widgets、Qt QML 等,这些库可以帮助开发者更快速地创建 GUI 和应用程序。Qt 是一个用于开发 GUI 和应用程序的跨平台 C++ 库,它提供了许多功能和工具,可以帮助开发者创建高质量的桌面应用程序和移动应用程序。这意味着你可以使用 C++ 的语法和特性来编写 Qt 应用程序。Qt 是用 C++ 编写的:Qt 的核心部分是用 C++ 编写的,因此,如果你熟悉 C++,那么学习 Qt 会更容易。
2024-04-06 11:11:21 168
原创 C#调用QT编写的dll报“试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)“的原因及解决办法
2.C#的程序需要设定正确的平台和目标平台及项目配置,否则32位或64位的程序对应了错误位数的dll(有时可能需要多试几次平台和目标平台的不同组合配置才行,因为会出现编译器报错但输出的exe文件就能直接运行的问题)。D:\learn\Qt\Qt5.10.0\5.10.0\mingw53_32\bin 和 D:\learn\Qt\Qt5.10.0\Tools\mingw530_32\bin。1.qt编写的dll需要引用qt本身的库,需要引用编译库,所以需要在系统环境变量中加入如下。
2024-04-04 21:44:48 181
原创 Qt-生成dll和调用详细图文教程详解
2.6 在test.pro中包含testdll.dll 所在路径LIBS+=C:\Users\wang\Desktop\build-test-Desktop_Qt_5_8_0_MinGW_32bit-Debug\debug\DLL.dll。2.5将生成的DLL.dll,复制到build-test-Desktop_Qt_5_8_0_MinGW_32bit-Debug中的debug。2.2将上面生成的DLL.h和DLL_global.h拷贝到生成的test应用工程里面。2.7最后运行成功图。
2024-04-04 19:13:26 206
原创 一组信号可以用一组复数表示吗?
假设采样频率为Fs,采样点数为N,做FFT之后,某一点n(n从1开始)表示的频率为:Fn=(n-1)*Fs/N;该点的模值除以N/2就是对应该频率下的信号的幅度(对于直流信号是除以N);该点的相位即是对应该频率下的信号的相位。相位的计算可用函数atan2(b,a)计算。atan2(b,a)是求坐标为(a,b)点的角度值,范围从-pi到pi。要精确到xHz,则需要采样长度为1/x秒的信号,并做FFT。要提高频率分辨率,就需要增加采样点数,这在一些实际的应用中是不现实的,需要在较短的时间内完成分析。
2024-03-28 09:12:52 918
原创 一个复数是否代表一个正弦波
中所有的正弦量频率相等,所以可以不考虑频率的计算,这样正弦量三要素转化为两个要素的分析,即最大值和初相位,此时,运用数学变换的思想,将正弦的三角函数计算转化为复数的计算,所以将正弦量转化为对应的复数表示。所以相量法分析的前提是同频,注意是相量,不是向量,这也是电路的严格。时,因为三角函数的计算非常复杂,所以人们需要找到方便的分析方法。正弦电压本身是正弦的,并不是复数,所以不能认为正弦等于复数。,表达了正弦量并不是复数,只是计算中的变换。表示,只是计算中的一种。
2024-03-27 18:12:08 125
原创 复数的物理意义详解
我们知道, i 的平方是 -1, 那么2 * i * i = -2,相当于在数轴上将 2 旋转了 180度。也就是说,通过旋转,我们获得了一个垂直的虚数轴。实数轴和虚数轴共同构成了一个复数的平面,也称为复平面。欧拉公司的关键作用,就是将正弦波统一成了简单的指数形式。我们再来看上面的图,欧拉公式所描绘的,是一个随时间变化,在复平面上做圆周运动的点。随着时间的改变,在时间轴上就变成了一条螺旋线。如果只看它的实数部分,也就是螺旋线左侧的投影,就是基础的余弦函数。对于复数,最直观的理解,就是旋转!
2024-03-27 18:02:41 199
原创 复数与正弦波之间的意义
后来想了个办法,我不去表示这个信号的相位了,我把这个信号在这个频率下的有相位的正弦信号拆解成两个正交的信号,不论信号是什么相位,都认为是一个零相位正弦信号和一个零相位余弦信号的叠加,我获得这个信号的正弦分量和余弦分量的幅度,就能反应这个信号。这样就需要两个序列,一个正弦序列,一个余弦序列,他们两个正交,我们发现复数符合这个特点,正交,另外有那个宇宙最美公式欧拉公式加成,复数可以用指数表示,这个在数学上就变得很美很简单了,于是虚数就出现了,他表现的是信号的正弦分量。得到的频域变换是无限的,非周期的。
2024-03-27 17:57:12 588
原创 C#实现多重继承和实例
举例:SendDtata类的作用是发送数据,ReceiveData类的作用是接收数据,现在要创建SocketData类,作用是发送和接受数据,此时,你希望SocketData从SendDtata和ReceiveData这两个类继承,但CLR不支持多继承,也就意味着C#不支持多继承,但是,CLR允许通过接口Interface实现“缩水版”的多继承。这一点和抽象类很类似,可是抽象类是个类,他有方法的实现,它所描述的对象是一个无法在现实中具现的对象,但它本身是个类型对象。所以,要合理正确地使用多继承。
2024-03-10 09:15:04 435
转载 C# 实现快速傅里叶变换代码
System.Windows.Forms.DataVisualization.Charting.Series phaseSpectrumSeries = new System.Windows.Forms.DataVisualization.Charting.Series("幅度谱");namespace 快速傅里叶变换。
2024-03-01 18:44:18 197
原创 傅里叶变化-Math.Net中Fourier变换使用详解
网络博客中关于连续/离散Fourier变换的文章已经非常详实,本无需赘述。但毕竟下文要用到,所以这里还要简明扼要的说一下。简单说,Fourier变换就是将周期信号沿正交基分解,而一组良好的正交基就是正弦/余弦函数。不过套用伟大的欧拉公式后,我们更多是把作为正交基。基于此连续域上的Fourier变换及其逆变换可以写为不过,对于归一化参数可以略作调整,从而将Fourier变换对写为但是,对于计算机是无法处理连续变量的,从而在上述工作基础之上发展了离散Fourier变换(DFT),将其变换对写为。
2024-03-01 18:29:52 954
转载 C#/winform设置窗体自动缩放适应不同尺寸的电脑屏幕大小
如果希望控件或窗体根据操作系统中字体的大小进行拉伸或缩小,则按 Font 缩放十分有用,如果控件或窗体的绝对大小无关紧要,则应使用这种方式进行缩放。例如,对于显示图表或其他图形的控件,可能希望使用每英寸点数 (DPI) 缩放,以便该控件始终占据一定百分比的屏幕。MaximizeBox=true,可设置窗体最大化,当窗体超出屏幕时,用户可设置窗体最大化来让窗体尺寸贴合用户屏幕。如果不存在父类,则禁用自动缩放。Autosize=false,设置窗体不根据内容超出而调整窗体自身大小,以免窗体超出屏幕。
2023-12-13 16:34:46 3719
原创 C# 泛型概念及用法详解
泛型(generic)是C# 2.0推出的新语法,它是专门为处理多段代码在不同的数据类型上执行相同的指令的情况而设计的。比如说编程时,碰到功能非常相似的模块,只是它们所处理的数据类型不同,然而我们却需要写不同的方法来实现它,很明显,这加大了我们的工作量,也很乏味。有没有什么办法能够解决这个问题呢?它就是泛型了,可以让多个类型共享一组代码。通过压栈例子可以更清楚的了解泛型{int[] arr;//将int类型的值压栈//将float类型的值压栈。
2023-05-05 20:46:46 8173 1
原创 C# 中delegate、event、Action、Func详解
因为delegate是很宽泛的,格式内容都不受限,俗话说没有规矩不成方圆,如果一人过于随意,那么他所做的事也规范不到哪去,这就会导致后期的维护很费劲,实际开发中也基本都用后面三种。Action<int,string,bool> 表示有传入参数int,string,bool无返回值的委托。Func<T1,T2,,T3,int> 表示传入参数为T1,T2,,T3(泛型)返回值为int的委托。Action<int,int,int,int> 表示有传入4个int型参数,无返回值的委托。而且只能+=和-=操作。
2023-03-18 21:23:59 2094
原创 QT或MFC中调用Opencv需要引用库时或自身的架构库时可以添加环境变量引用路径下文件的方式搭建环境避免可执行程序下文件过多显得臃肿
c++
2023-02-18 11:29:52 799 1
原创 Qt编译错误msvc-version.conf loaded but QMAKE_MSC_VER isn‘t set与Qt lnk1158 无法运行rc.exe 解决方法
qt
2023-02-17 19:26:49 761
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人