好文档 - 专业文书写作范文服务资料分享网站

数字信号处理实验报告-FFT算法的MATLAB实现

天下 分享 时间: 加入收藏 我要投稿 点赞

数字信号处理 实验报告

实验二:FFT算法的MATLAB实现

一、实验目的

通过本实验的学习,掌握离散傅立叶变换的理论,特别是FFT的基本算法以及其在在数字信号处理中的应用。 二、实验内容

题一:若x(n)=cos(n*pi/6)是一个N=12的有限序列,利用MATLAB计算它的DFT并画出图形。

题二:一被噪声污染的信号,很难看出它所包含的频率分量,如一个由50Hz和120Hz正弦信号构成的信号,受均值随机噪声的干扰,数据采样率为1000Hz,对这污染信号进行傅立叶变换,以检查所包含的频率分量

题三:调用原始语音信号mtlb,对其进行FFT变换后去掉幅值小于1的FFT变换值,最后重构语音信号。

(要求有四幅语音信号的频谱图在同一图形窗口以便比较:分别是1、原始语音信号;2、FFT变换;3去掉幅值小于1的FFT变换值;4、重构语音信号) 三、实验原理

1、有限长序列x(n)的DFT的概念和公式:

N?1?kn?x(k)??x(n)WN?n?0?N?1?kn?x(n)?1x(k)WN??Nk?0?0?k?N?1

0?n?N?1

2、基2的FFT算法

四、实验条件

(1)微机

(2)MATLAB编程工具

五、用matlab程序实现: 实验一:

1

clc; N=12; n=0:N-1; k=0:N-1;

xn=cos(n*pi/6); W=exp(-j*2*pi/N); kn=n'*k

Xk=xn*(W.^kn) stem(n,Xk); xlabel('k'); ylabel('Xk');

实验二 clc;

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

x=sin(2*pi*50*t)+sin(2*pi*120*t)+rand(1,N);

2

y=fft(x,N); mag=abs(y); f=n*fs/N;

subplot(1,2,1),plot(f,mag); xlabel('频率/Hz');

ylabel('振幅');title('N=1024');

subplot(1,2,2),plot(f(1:N/2),mag(1:N/2)); xlabel('频率/Hz');

ylabel('振幅');title('N=1024');

实验三: clc;

load mtlb N=1500;

subplot(2,2,1)

plot([1:N],mtlb(1:N)); title('原始语音信号');

y=fft(mtlb(1:N)); subplot(2,2,2)

3

数字信号处理实验报告-FFT算法的MATLAB实现

数字信号处理实验报告实验二:FFT算法的MATLAB实现一、实验目的通过本实验的学习,掌握离散傅立叶变换的理论,特别是FFT的基本算法以及其在在数字信号处理中的应用。二、实验内容题一:若x(n)=cos(n*pi/6)是一个N=12的有限序列,利用MATLAB计算它的DFT并画出图形。题二:一被噪声污染的
推荐度:
点击下载文档文档为doc格式
96uhm2qdl81symv1jox557eja0pqs3006l2
领取福利

微信扫码领取福利

微信扫码分享