实验六、FFT与chirp-z变换

更新时间:2024-04-13 17:15: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)');

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

Top