logo资料库

快速傅立叶变换(FFT)的计算机实现.doc

第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
资料共20页,剩余部分请下载后查看
1.算法描述
1)DFT的运算量
3)C程序采用基--2按时间抽取的FFT算法
设输入序列长度为 (M为正整数),将该序列按时间顺序的奇偶
为简单起见,同时不失一般性,本实验采用三个余弦成分和一个支流偏置成分叠加所得的信号作为信号源。
3.MATLAB的FFT仿真和C的FFT实现
1)关于频谱的理论分析:
2)MATLAB的FFT仿真
MATLAB程序代码
>>FFT2(1,1,1,90,2,2,180,3,3,180,32)
>>FFT2(1,1,1,90,2,2,180,3,3,180,16)
>>FFT2(1,1,1,90,2,2,180,3,3,180,8)
>>FFT2(1,1,1,90,2,2,180,3,3,180,4)
原始信号如图:
图2、fs =32Hz
图3、fs =16Hz
图4、fs =8Hz
图5、fs =4Hz
注意到:
1、幅度谱,除却k=0外,图形呈轴对称分布;
2、相位谱,N为偶数时除却k=0和N/2外(N为奇数时,除却k=0外),图形呈中心对称分布。
理论上,由于复指数的周期性,长度为N(假设N为偶数,N为奇数时类似)的的DFT频谱分析,可把k=
下面取fs=8Hz和4Hz部分计算结果分析,其他情况可类似处理。
可看到:fs=8Hz时,由频谱结合物理意义计算的得到的余弦成分的幅值和初相位与原信号一致;fs=4
对此,可根据抽样定理解释。因为f1=1Hz,f2=2Hz, f3=3Hz,所以连续时间信号的截至频
直观的,可把混叠现象看作是幅度谱和相位谱中对称的右半部分图形,随着采样频率的减小而往左移动,当采样
改变信号波形
键入:
>> %改变信号的直流成分(由1变为2),原信号和频谱如下
FFT2(2,1,1,90,2,2,180,3,3,180,32)
变化趋势:幅度谱中k=0对应的幅度变为2N=64(原为32),其余处无明显变化,相位谱中,k=0,
键入:
>> %改变第三个余弦成分的幅值(由3改为4),原信号图和频谱图如下FFT2(2,1,1,90,2,
变化趋势:幅度谱中k=3对应的幅度变为64(4*32/2=64,原来这个值为3*32/2=48),
键入:
>> %改变第三个余弦成分的频率(由3Hz改为4Hz),原信号图和频谱如下
FFT2(2,1,1,90,2,2,180,4,4,180,32)
变化趋势:幅度谱中,k=4处幅度为N/2*4=64,k=3处幅度变为0,k=0,1,2处幅度不变;
键入:
>>%改变第三个余弦成分的初相位(由180改为270),原信号和频谱如下图
FFT2(2,1,1,90,2,2,180,4,4,270,32)
变化趋势:幅度谱波形无明显变化;相位谱中,k=4处相位值变为-90度,即270度。
由此可见,改变信号的波幅、频率和相位,幅度谱和相位谱将发生相应的变化,即恰合频谱的物理意义。
3)C语言实现FFT
C代码
/*此代码用于fft计算,采用基--2按时间抽取的FFT算法Decimation-in-Time(D
(Coolkey-Tukey)。为方便起见,同时不失一般性,把含有一个直流成分和三个正弦成分的信号作
#include
#include
/*圆周率*/
double pi=3.141592653589793;
int M,N;
/*定义复数*/
struct Complex_
{
double real;double img;
}*a,*b;
/*定义2的幂计算*/
int x_2(int a)
{
int i,r;
r=1;
for(i=0;i
r=r*2;
return(r);
}
/*定义码位倒读函数f(i)*/
int reverse(int i)
{
int ii,j;
ii=0;
for(j=M-1;j>=0;j--)
{
ii+=(int)(i/x_2(j))*x_2(M-1-j);/*先把i用二进制表示,然后码位倒
i-=(int)(i/x_2(j))*x_2(j);
}
return(ii);
}
/*定义复数乘法*/
struct Complex_ Multi(struct Complex_ a,struct Com
{
struct Complex_ c;
c.real=a.real*b.real-a.img*b.img;
c.img=a.real*b.img+a.img*b.real;
return(c);
}
/*定义复数幂运算*/
struct Complex_ W_K(struct Complex_ W,int k)
{
int i;
struct Complex_ x,y;
x=W;
if(k==0)
{
x.real=1;x.img=0;return(x);
}
else
{
for(i=1;i
{
y=Multi(x,W);
x=y;
}
return(x);
}
}
/*定义复数加法*/
struct Complex_ Add(struct Complex_ a,struct Compl
{
struct Complex_ c;
c.real=a.real+b.real;
c.img=a.img+b.img;
return(c);
}
/*离散序列的输入*/
void input()
{
int NN,i;
float f1,f2,f3,a0,a1,a2,a3,w1,w2,w3;
M=0;
/*在一秒钟内,采点数*/
printf("采点数:");
scanf("%d",&NN);
printf("\n");
/*信号的直流成分*/
printf("信号的直流成分:\n");
scanf("%f",&a0);
/*信号有三个余弦成分*/
/*余弦成分1*/
printf("第1个正弦成分的频率:\n");
scanf("%f",&f1);
printf("幅值:\n");
scanf("%f",&a1);
printf("初相位:\n");
scanf("%f",&w1);
/*余弦成分2*/
printf("第2个正弦成分的频率:\n");
scanf("%f",&f2);
printf("幅值:\n");
scanf("%f",&a2);
printf("初相位:\n");
scanf("%f",&w2);
/*余弦成分3*/
printf("第3个正弦成分的频率:\n");
scanf("%f",&f3);
printf("幅值:\n");
scanf("%f",&a3);
printf("初相位:\n");
scanf("%f",&w3);
for(i=0;x_2(i)
{
M=i+1;
}
N=x_2(M);/*N为不小于NN的最小的2的幂*/
a=(struct Complex_*)calloc(N,sizeof(struct Comple
b=(struct Complex_*)calloc(N,sizeof(struct Comple
/*把采样信号用码位倒读的方法存入计算机中*/
for(i=0;i
{
a[reverse(i)].real=a0+a1*cos(2*pi*f1*i/N+w1/180*
a[reverse(i)].img=0;
}
/*动态空间空闲处,补零*/
for(i=NN;i
{
a[reverse(i)].real=0;
a[reverse(i)].img=0;
}
}
/*主函数*/
void main()
{
int i,j,k,m,n,q,r;
FILE *fp;/*文件指针,指向存储fft结果的文件*/
struct Complex_ d,W,Wk,x,y;
j=0;
input();
m=1;
n=N;
for(i=0;i
{
n=n/2;
m=m*2;
q=x_2(i+1);/*q=2^(i+1)*/
W.real=cos(-2*pi/q);/*旋转因子实部*/
W.img=sin(-2*pi/q);/*旋转因子虚部*/
for(j=0;j
{
for(k=0;k
{
Wk=W_K(W,k);
b[j*m+k]=Add(a[j*m+k],Multi(Wk,a[j*m+k+m/2]));
}
for(k=m/2;k
{
Wk=W_K(W,k);
b[j*m+k]=Add(a[j*m+k-m/2],Multi(Wk,a[j*m+k]));
}
}
for(r=0;r
{
a[r]=b[r];
}
}
/*将结果写入文件e:\\keshe.txt*/
if((fp=fopen("e:\\keshe.txt","w+"))==NULL)
{
printf("Cannot open file strike any key exit!");
getch();
exit(1);
}
for(n=0;n
{
fprintf(fp,"%16.14f %16.14f\n",a[n].real,a[n].img
}
for(n=0;n
{
printf("%16.14f+%16.14fi\n",a[n].real,a[n].img);
}
free(a);/*释放内存空间*/
free(b);/*释放内存空间*/
}
改变采样频率
实验数据将由keshe.txt调入到MATLAB中,做出频谱图。
参数设置1
注意到两图的幅度谱图,很相似,而相位谱却相差很大。用C实现的FFT得到的相位谱也似乎没有什么对称性
表1
结合图17、18和表1,可以发现两个相位谱在k=0,1,2,3和31,30,29处一致,而在其他点
注:在先前编写的C程序中,把复数实部和虚部的数据类型设置为float时,相位谱的不对称更加严重,甚
参数设置2
可发现C实现下的FFT幅度谱图随采样频率变化的趋势与MATLAB仿真实验类似,而由于参数1实验相同
参数设置3
类似的,可发现幅度谱图随采样频率变化的趋势与MATLAB仿真实验类似。而C和MATLAB实现下,k
参数设置4
同MATLAB仿真结果一样出现混叠现象。
参数设置5
注意到幅度谱和相位谱都有很大区别,其中相位谱的区别是由两种不同的计算机语言规则造成的(正如之前提到
改变被采样信号波形
参数设置6
二者幅度谱相同,相位谱只在中间部分有差异(此差异对实际分析影响很小,且也无实际意义,可忽略),而在
参数设置7
二者幅度谱图相同,且较上一参数时发生的变化趋势与MATLAB仿真试验中一样;相位谱图在k=0,1,
参数设置8
二者幅度谱图相同,,且较上一参数时发生的变化趋势与MATLAB仿真试验中一样;相位谱图在k=0,1
至此,考察了序列长度和信号谐波成分对MATLAB的FFT仿真和C实现的FFT的影响,并结合了DFT
4.课程设计心得与自我评价
这个课程设计的主要部分是在暑假完成的,课程设计是关于FFT的计算机实现,要求掌握FFT算法,并分别
课程设计完成的过程中遇到许多问题:
首先是MATLAB的仿真。这时候问题不大,直接利用现成的内置函数。
其次是FFT的C实现。此处在代码的编写和程序的调试耗费了较多的时间,主要问题在于对算法的理解不够以
后来在C实现的FFT结果与MATLAB的仿真结果对比时,遇到较多问题:1、初相位为180度(或-1
这次课程设计运用了信号与系统、C语言、MATLAB语言的知识,使我加深了对DFT的物理意义的理解,
自我评价:比较满意。虽然觉得课程设计完成的没有太大的亮点,私下也以为这个题目较其他几个要简单些(这
参考文献:
1、【美】卡门(Kamen,E.W.)等.信号与系统基础.北京:科学出版社,2002
2、郑平安.程序设计基础(C语言版)第二版.北京:清华大学出版社,2006
3、【美】A.V.奥本海姆,R.W.谢弗.离散时间信号处理(第二版).西安:西安交通大学出版社,20
4、【加】Simon Haykin,【美】Barry Van Veen.信号与系统(第二版).北京:
5、丛玉良,王宏志.数字信号处理原理及其MATLAB实现.北京:电子工业出版社,2005
6、百度文库
信号与系统课程设计 ——FFT 的计算机实现
快速傅里叶变换(FFT)的计算机实现 赖智鹏 华中科技大学电气与电子工程学院 0809 班 U200811806 Email: 592425891@qq.com 摘要:本文是信号与系统课程的课程设计,旨在熟悉 FFT 的计算过程,结合 DFT 物理意义和实验结果加深 对傅立叶变换的理解。文章首先用 MATLAB 对一个简单信号进行 FFT 仿真,得出频谱图;其次完成了 FFT 的 C 语言实现,结合 MATLAB 作图及数据处理功能得出了 C 实现下的 FFT 结果;最后,讨论分析实验结果。 关键词:DFT、基--2 按时间抽取 FFT 算法、MATLAB、C、频谱、物理意义 1. 算法描述 1) DFT 的运算量 ( ) X k   ( ) DFT x n      1 N   n 0 x nW k ( ) nk ( N  0,1,2... N  1) 复数乘: 次 , 复数加: ( N N N  2  1)  2 N 次 2) 减少运算的方法: 化长序列为短序列。如将长度为 N 的序列分解为两个长度为 N/2 的序列 ( ) X k   ( ) DFT x n     N  1 2   n 0 ( ) x nW nk N 2 ( k  0,1,  , N  1) 复数乘: 次 , 复数加: ( 2 N 4 N 2  N 2  1)  2 N 4 次 nk NW 的性质(注:本文中的 C 程序未用到此性质) 利用 = +rN 周期性: nk nk W WN N  - n n 共轭对称性: = WN W N  r n n WN N W  r 可约性: = *  3) C 程序采用基--2 按时间抽取的 FFT 算法 设输入序列长度为 N  2M (M 为正整数),将该序列按时间顺序的奇偶分解为越来越短 的子序列,称为基 2 按时间抽取的 FFT 算法,也称为 Coolkey-Tukey 算法。若 N 不满足条件, 则人为地加上若干零值,使 ' N  。 2M 2. 实验设计与步骤 为简单起见,同时不失一般性,本实验采用三个余弦成分和一个支流偏置成分叠加所得 的信号作为信号源。
I.编写Matlab仿真程序 2 FFT a a f , , , ,  1 1 1 , a f 2 2  0 直流成分, , , 为第一个正弦成分的参数,  a f 1 1 1 3 ,  , 3 a f , 3  , 2  , 为第二个正弦成分的参数, 2 a 0 , a f 2 2 , ,其中 为被采样信号的 f s , a f 3 3  , 为第 3  三个正弦成分的参数, 为采样频率 f s  0 II.通过改变 2 FFT a a f , , , ,  1 1 1 , a f 2 2  , 2 , a f 3 , 3  , 的输入参数,改变信号波形和采样点 N  , 3 数,观察序列长度 或谐波成分对频谱的影响,观察频谱图的变化趋势,并结合频谱图的物理意义 作出作出解释解释 III.根据Decimation-in-Time(DIT)(Coolkey-Tukey)算法编写C程序,计算结果放在keshe.txt文 件输出中,数据调入Matlab中,分析数据,做出频谱图 IV.通过改变C程序运行时输入的参数,改变信号波形和采样点数,对比观察频谱的变化趋势,分 析输出结果的差异,结合频谱图的物理意义进行解释 V.C语言实现下的FFT结果对比MATLAB的仿真结果,观察二者的之间的差异,对之作出合理解释 3. MATLAB 的 FFT 仿真和 C 的 FFT 实现 1) 关于频谱的理论分析: 在1秒内进行采样,频谱分辨率为1 注意到频谱的物理意义(在下面的内容中,将利用并一定程 Hz, 度上验证这些性质)  I、幅度谱 其中 为采样点数目  N 直流成分,幅度谱上对应 =0的幅度大小为 x N 0 N 2 交流成分,幅度谱上对应频率下幅度大小为 k , 亦即 f xs 0 , 即 x f xsk k II、相位谱 直流成分,无相位概念 交流成分,相位谱上对应频率下相位的大小就是该频率成分初相位  k 特别的,实序列的幅度谱除k = 0点外 呈轴对称分布 N 呈中心对称分布 N为奇数时,相位谱除k = 0,呈中心对称分布 , ; 。 。 为偶数时,相位谱除k = 0 N/2点外 和 , 2) MATLAB 的 FFT 仿真 MATLAB 程序代码 function [ output_args ] = FFT2( x0,x1,f1,w1,x2,f2,w2,x3,f3,w3,fs ) %这是一个自定义函数,输入被采样的信号的参数和采样频率,然后输出原信号波形、采样信号 序列、采样序列幅度谱和相位谱。函数规定信号由一个直流成分(大小为x0),三个余弦成分(各 自频率分别为f1,f2,f3,幅值为x1,x2,x3,初相位为w1,w2,w3),采样频率为fs,采样时间为1秒。 x0,x1,f1,w1,x2,f2,w2,x3,f3,w3,fs作为参数输入 t=0:1/fs:1-1/fs;%定义采样时刻 N=length(t);%采样序列长度 s=x0+x1*cos(2*pi*f1*t+pi/180*w1)+x2*cos(2*pi*f2*t+pi/180*w2)+x3*cos(2*pi*f3*t+pi/1 80*w3);%采样信号 y=fft(s);%快速傅立叶变换 tt=0:1/10000:1;%原信号描点 ss=x0+x1*cos(2*pi*f1*tt+pi/180*w1)+x2*cos(2*pi*f2*tt+pi/180*w2)+x3*cos(2*pi*f3*tt+ pi/180*w3);%原信号 figure;
plot(tt,ss); grid; title('原始信号');%原信号波形 figure; subplot(3,1,1); plot(0:N-1,s(1:N),'-o'); xlim([0 N-1]); grid; title('采样信号'); subplot(3,1,2); plot(0:N-1,abs(y(1:N)),'-o'); xlim([0 N-1]); grid; xlabel('k'); ylabel('幅度'); title('理想采样信号的幅度谱'); subplot(3,1,3); plot(0:N-1,angle(y(1:N)),'-o'); grid; xlabel('k'); ylabel('相位'); axis([0 N-1 -pi pi]); title('理想采样信号的相位谱'); end; 改变采样频率  依次键入:%其中FFT2()是自定义函数,对信号在1秒内以频率fs进行采样 >>FFT2(1,1,1,90,2,2,180,3,3,180,32) >>FFT2(1,1,1,90,2,2,180,3,3,180,16) >>FFT2(1,1,1,90,2,2,180,3,3,180,8) >>FFT2(1,1,1,90,2,2,180,3,3,180,4) 原始信号如图: 8 6 4 2 0 -2 -4 -6 0 原 始 信 号 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 图 1
 即对信号y=1+cos 2 f s 在1秒内分别用    t   / 2 +2 cos 4 Hz Hz Hz Hz     t    3 cos 6   t   32 、16 、8 、4 进行采样,然后进行FFT, 频谱如下图 10 0 -10 0 50 度 幅 角 幅 0 0 2 0 -2 0 10 0 -10 0 40 20 度 幅 0 0 2 0 -2 0 角 幅 采 样 信 号 5 5 5 10 15 20 25 30 理 想 采 样 信 号 序 列 的 幅 度 谱 10 15 k 20 25 30 理 想 采 样 信 号 序 列 的 相 位 谱 10 15 k 20 25 30 图 2、fs =32Hz 采 样 信 号 5 10 理 想 采 样 信 号 序 列 的 幅 度 谱 5 k 10 理 想 采 样 信 号 序 列 的 相 位 谱 5 k 10 图 3、fs =16Hz 15 15 15 5 0 -5 0 20 10 度 幅 0 0 2 0 -2 0 角 幅 5 0 -5 0 10 5 0 0 2 0 -2 0 度 幅 角 幅 1 1 1 采 样 信 号 2 3 4 5 理 想 采 样 信 号 序 列 的 幅 度 谱 2 3 k 4 5 理 想 采 样 信 号 序 列 的 相 位 谱 2 3 k 4 5 图 4、fs =8Hz 采 样 信 号 6 6 6 0.5 1 1.5 2 2.5 理 想 采 样 信 号 序 列 的 幅 度 谱 0.5 1 1.5 k 2 2.5 理 想 采 样 信 号 序 列 的 相 位 谱 0.5 1 1.5 k 2 2.5 图 5、fs =4Hz 7 7 7 3 3 3 注意到: 1、幅度谱,除却 k=0 外,图形呈轴对称分布; 2、相位谱,N 为偶数时除却 k=0 和 N/2 外(N 为奇数时,除却 k=0 外),图形呈中心对 称分布。 理论上,由于复指数的周期性,长度为 N(假设 N 为偶数,N 为奇数时类似)的的 DFT 频谱分析,可把 k=N/2,N/2+1,…,N-1 看作是负频率-N/2,-N/2+1,-N/2+2,…,-2,-1,特别的, 对于实序列而言,正负频率成分的幅值必须相等,而初相位必须相反。 下面取 fs=8Hz 和 4Hz 部分计算结果分析,其他情况可类似处理。
 1 、 s  f 8 Hz FFT结果的前四个为  2 、 s  f 4 Hz FFT结果的前四个为 8.00000000000000 + 0.00000000000000i , 3.99999999999999 + 0.00000000000000i , -2.6645352591003e-15 + 3.99999999999i , -6.00000000000000 + 1.99999999999999i , -7.9999999999999 + 1.33226762955e-15i , -7.99999999999999 + 0.00000000000000i , -12.000000000000+ 1.065814103640e-14i -6.00000000000000 - 1.99999999999999i 幅度为 8.00000000000000, 3.9999999999 9999, 7.99999999999999, 12.0000000000000 此时,N=8, 直流成分 幅度为 3.99999999999999, 6.3245553203 3676, 7.99999999999999, 6.32455532033676 此时,N=4, 直流成分 x 0  8.00000000000000/N  1, x 0  3.99999999999999/N=1, 交流成分 交流成分 3.99999999999999/ N/2    1 2, 3 x 1 x 2 x 3    x 1 x 2 x 3 =6.32455532033676/(N/2)=1.58113883008418 9, =1.999999999999998, =1.581138830084189, 与 =1, x 0 x 1 =1, x 2 =2, x 3 =3吻合 与 =1, x 0 x 1 =1, x 2 =2, x 3 =3不吻合 相位为 1.57079632679490, 3.14159265358979, 3.14159265358979 化为角度制 90.000000 0000001 ,   180 ,  180.000000000000 , 即三个频率下初相位分别为  90 ,   180 , 180 , 相位为 2.819842099 19315, 3.14159265358979, -2.81984209919315 化为角度制 161.565051177078 ,   180 , -161.565051177078 ,  即三个频率下的初相位为 161.565051177078 ,   180 , -161.565051177078 ,   与 =90 ,  1  2  =180 ,  3  =180 吻合  与 =90 ,  1  2  =180 ,  3  =180 不吻合
可看到:fs=8Hz 时,由频谱结合物理意义计算的得到的余弦成分的幅值和初相位与原 信号一致;fs=4Hz 时,由频谱结合物理意义计算的得到的余弦成分的幅值和初相位与原信 号不同。 对此,可根据抽样定理解释。因为 f1=1Hz,f2=2Hz, f3=3Hz,所以连续时间信号的截 至频率 fm=f3=3Hz,所以抽样频率 fs=4Hz 时,fs<2fm=6Hz,所以 DTFT 频谱出现混叠现象, 而 DFT 实质是对 DTFT 频谱的频率抽样,所以离散序列的频谱出现混叠现象。 直观的,可把混叠现象看作是幅度谱和相位谱中对称的右半部分图形,随着采样频率的 减小而往左移动,当采样频率足够小时两部分图形出现重叠交错(结合图 6、7、8)。若被 抽样信号,截止频率无限大,则混叠现象始终存在。下图从左至右依次为抽样频率 fs=8Hz、 7Hz、6Hz 时的频谱,可看出 fs=7Hz 为发生混叠的临界频率,即 fs=7Hz 时恰好不发生混叠 现象。 5 0 -5 0 20 度 幅 10 0 0 2 角 0 幅 -2 0 采 样 信 号 1 1 1 2 3 4 5 理 想 采 样 信 号 序 列 的 幅 度 谱 2 3 k 4 5 理 想 采 样 信 号 序 列 的 相 位 谱 2 3 k 4 5 6 6 6 7 7 7 5 0 -5 0 20 度 幅 10 0 0 2 角 0 幅 -2 0 采 样 信 号 1 1 1 2 3 4 理 想 采 样 信 号 序 列 的 幅 度 谱 2 3 k 4 理 想 采 样 信 号 序 列 的 相 位 谱 2 3 k 4 5 5 5 6 6 6 采 样 信 号 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 理 想 采 样 信 号 序 列 的 幅 度 谱 0.5 1 1.5 2 2.5 k 3 3.5 4 4.5 5 理 想 采 样 信 号 序 列 的 相 位 谱 10 0 -10 0 20 度 幅 10 0 0 2 角 0 幅 -2 0 0.5 1 1.5 2 2.5 k 3 3.5 4 4.5 5 图 6 fs=8Hz 不发生混叠 图 7 fs=7Hz 恰不发生混叠 图 8 fs=6Hz 恰发生混叠 改变信号波形  键入: >> %改变信号的直流成分(由 1 变为 2),原信号和频谱如下 FFT2(2,1,1,90,2,2,180,3,3,180,32) 8 6 4 2 0 -2 -4 0 原 始 信 号 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 图 9 10 0 -10 0 100 50 度 幅 0 0 2 0 -2 0 角 幅 5 5 5 采 样 信 号 10 15 20 25 30 理 想 采 样 信 号 序 列 的 幅 度 谱 10 15 k 20 25 30 理 想 采 样 信 号 序 列 的 相 位 谱 10 15 k 20 25 30 y    t    t 2 cos(2 变化趋势:幅度谱中 k=0 对应的幅度变为 2N=64(原为 32),其余处无明显变化,相位谱 图 10 fs=32Hz / 2) 2cos(4 ) 3cos(6  )       t 中,k=0,1,2,3 对应的相位值都不变。  键入: >> % 改 变 第 三 个 余 弦 成 分 的 幅 值 ( 由 3 改 为 4 ), 原 信 号 图 和 频 谱 图 如 下 FFT2(2,1,1,90,2,2,180,4,3,180,32)
10 5 0 -5 0 原 始 信 号 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 10 0 -10 0 100 50 度 幅 0 0 2 0 -2 0 角 幅 5 5 5 采 样 信 号 10 15 20 25 30 理 想 采 样 信 号 序 列 的 幅 度 谱 10 15 k 20 25 30 理 想 采 样 信 号 序 列 的 相 位 谱 10 15 k 20 25 30 图 11 / 2) 2cos(4  y   t    2 cos(2 变化趋势:幅度谱中 k=3 对应的幅度变为 64(4*32/2=64,原来这个值为 3*32/2=48), 图 12 fs=32Hz ) 4cos(6  )       t t 其余处无明显变化,相位谱中 k=0,1,2,3 对应的相位值都未发生变化。  键入: >> %改变第三个余弦成分的频率(由 3Hz 改为 4Hz),原信号图和频谱如下 FFT2(2,1,1,90,2,2,180,4,4,180,32) 8 6 4 2 0 -2 -4 -6 0 原 始 信 号 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 图 13 / 2) 2cos(4  10 0 -10 0 100 50 度 幅 0 0 2 0 -2 0 角 幅 5 5 5 采 样 信 号 10 15 20 25 30 理 想 采 样 信 号 序 列 的 幅 度 谱 10 15 k 20 25 30 理 想 采 样 信 号 序 列 的 相 位 谱 10 15 k 20 25 30 y   t    2 cos(2 变化趋势:幅度谱中,k=4 处幅度为 N/2*4=64,k=3 处幅度变为 0,k=0,1,2 处幅度不变; 图 14 fs=32Hz ) 4cos(8  )       t t 相位谱中,k=4 处相位变为 180,k=0,1,2,3 处相位值不变。  键入: >>%改变第三个余弦成分的初相位(由 180 改为 270),原信号和频谱如下图 FFT2(2,1,1,90,2,2,180,4,4,270,32)   2 cos(2    t / 2) 2cos(4     t ) 4cos(8    3 / 2)  t 10 8 6 4 2 0 -2 -4 0 原 始 信 号 y 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 图 15
分享到:
收藏