关于matlab编写的程序,求频谱的。
答案:1 悬赏:80 手机版
解决时间 2021-04-02 22:43
- 提问者网友:兔牙战士
- 2021-04-02 03:46
关于matlab编写的程序,求频谱的。
最佳答案
- 五星知识达人网友:洎扰庸人
- 2021-04-02 05:05
1、这段代码首先时生成一个离散信号x3,这个离散信号由两个x1,x2合成而来。
2、其次,分别对x1、x2、x3用快速傅立叶算法做512点的离散时间傅立叶变换,X1,X2,X3就是对应x1,x2,x3三个信号的频谱系数。
3、频谱系数一般情况下都是复数,通常用模长和相位分开表示。其中模长用abs函数求,相角用angle函数求,所以plot(f,angle(X3));只是求X3的相角并把他画出来。
mag1=abs(X1);
mag2=abs(X2);
mag3=abs(X3);
这里是分别求幅度。画频谱一般是要把幅度谱和相位谱这两个一起画出。
4、 plot(f(1:N/2),mag3(1:N/2)); 这几句是什么意思? fft求出的结果是对称的双边谱,我们只看一半的话就是看单片谱了。不过一般是取 0~N/2-1 ,取1:N/2的话也行,不过自己要明白有啥区别,有啥区别了?自行翻书了解DFT的物理意义。
5、可能涉及到的知识:频率分辨率、归一化频率与模拟频率和采样频率之间的关系、DFT的物理意义自己去翻书啊。
2、其次,分别对x1、x2、x3用快速傅立叶算法做512点的离散时间傅立叶变换,X1,X2,X3就是对应x1,x2,x3三个信号的频谱系数。
3、频谱系数一般情况下都是复数,通常用模长和相位分开表示。其中模长用abs函数求,相角用angle函数求,所以plot(f,angle(X3));只是求X3的相角并把他画出来。
mag1=abs(X1);
mag2=abs(X2);
mag3=abs(X3);
这里是分别求幅度。画频谱一般是要把幅度谱和相位谱这两个一起画出。
4、 plot(f(1:N/2),mag3(1:N/2)); 这几句是什么意思? fft求出的结果是对称的双边谱,我们只看一半的话就是看单片谱了。不过一般是取 0~N/2-1 ,取1:N/2的话也行,不过自己要明白有啥区别,有啥区别了?自行翻书了解DFT的物理意义。
5、可能涉及到的知识:频率分辨率、归一化频率与模拟频率和采样频率之间的关系、DFT的物理意义自己去翻书啊。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯