实验六、FFT与chirp-z变换

更新时间:2024-05-11 06:08:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验六、FFT与chirp-z变换

一、实验目的

1、学会运用Matlab表示FFT和chirp-z变换的方法 2、观察并熟悉这些信号的波形和特性

二、实验原理 基-2 FFT算法

1、 时间抽取基-2FFT算法

2、频率抽取基-2FFT算法

3、基-2IFFT算法

三、实验内容

1、已知信号由15HZ幅值0.5的正弦信号和40HZ幅值2的正弦信号组成数据采样频率为100HZ,试分别绘制N=128点DFT的幅频图和N=1024点DFT幅频图。

解、由题意得:信号可写为x?0.5sin(2?f1t)?2sin(2?c2t),

其中f1=15HZ,f2=40HZ

MATLAB程序设计如下:

clf

fs=100; N=128; n=0:N-1; t=n/fs;

x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t); y=fft(x,N);

mag=abs(y);

f=(0:length(y)-1)'*fs/length(y); subplot(221); plot(f,mag);

xlabel('Frequence(HZ)'); ylabel('Magnitude'); title('N=128') grid

subplot(222);

plot(f(1:N/2),mag(1:N/2)); xlabel('Frequence(HZ)'); ylabel('Magnitude'); title('N=128') grid

fs=100; N=1024; n=0:N-1; t=n/fs;

x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t); y=fft(x,N); mag=abs(y);

f=(0:length(y)-1)'*fs/length(y); subplot(223) plot(f,mag);

xlabel('Frequence(HZ)'); ylabel('Magnitude'); title('N=1024') grid

subplot(224)

plot(f(1:N/2),mag(1:N/2)); xlabel('Frequence(HZ)'); ylabel('Magnitude'); title('N=1024') grid

实验截图如下:

N=128150150N=128Magnitude50Magnitude050Frequence(HZ)N=1024100100100500002040Frequence(HZ)N=1024608006004002000050Frequence(HZ)100800600400200002040Frequence(HZ)60MagnitudeMagnitude

2、已知带有测量噪声信号x(t)=sin(2πf1t)+sin(2πf2t)+2w(t),其中f1=50Hz,f2=120Hz,ω(t)为均值为零的随机信号,采样频率为1000Hz,数据点数N=1024。试绘制信号的频谱图和无噪声信号的频谱图。

解:用Matlab编程如下:

clf;

fs=1000; N=1024; n=0:N-1; t=n/fs;

f1=50;f2=120;

x=sin(2*pi*f1*t)+sin(2*pi*f2*t); x=x+2*randn(1,length(t)); y=fft(x,N); mag=abs(y);

f=(0:length(y)-1)'*fs/length(y); subplot(211)

plot(f(1:N/2),mag(1:N/2)); xlabel('Frequency(Hz)');

ylabel('Magnitude');

title('N=1024 With Noise') grid

x=sin(2*pi*f1*t)+sin(2*pi*f2*t); y=fft(x,N); mag=abs(y);

f=(0:length(y)-1)'*fs/length(y); subplot(212)

plot(f(1:N/2),mag(1:N/2)); xlabel('Frequency(Hz)'); ylabel('Magnitude');

title('N=1024 Without Noise') grid

其频谱图如下:

N=1024 With Noise600Magnitude4002000050100150200250300350Frequency(Hz)N=1024 Without Noise400450500600400Magnitude2000050100150200250300Frequency(Hz)350400450500

四、实验环境

MATLAB 7.0

五、实验感想

通过了解FFT变换,及其库函数fft及ifft,更加明确了

运用快速傅里叶变换时点数N必须为2的整数次幂,另外通过实验截图可以看出随着取样点数不足N点的进行补零,超过N点的截取N点,并且取样点数越多,快速傅里叶变换后的幅值越大。另外当信号中存在造噪声时,可以通过对FFT后频谱的分析可以将周期信号从噪声中提取出来。

本文来源:https://www.bwwdw.com/article/ftgg.html

Top