- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字信号处理课程设计实验
华 北 电 力 大 学 实 验 报 告
实验环境 MATLAB 6.5 实验名称 实验一: FFT的应用 实 验 目 的 1、熟悉MATLAB在数字信号处理中的应用。
2、掌握利用FFT计算序列线性卷积的基本原理及编程实现。
3、掌握对连续信号进行采样的基本原理和方法,并利用FFT对信号进行频谱分析。 实 验 原 理 离散时间信号的表示:
在数字信号处理中,所有信号都是离散时间信号——序列,所有的序列都可以表示为如下形式:
x(n)={…,x(-1),x(0),x(1),…}
用matlab的stem(n,x)即可实现简单的表示。
若要表示具有特定采样频率的信号,需要定义时间轴向量。
快速傅里叶变换:
采用时间抽取基2FFT算法。
MATLAB中提供了fft和ifft函数来分别计算DFT和IDFT。fft和ifft函数是用机器语言,而不是用MATLAB指令写成的,因此它的执行速度很快。
fft函数的用法:
y=fft(x); %计算x的快速离散傅里叶变换y
y=fft(x,N); %计算x的N点FFT。当x的长度大于N时,截断x;否则补零
ifft函数的用法:
y=ifft(x); %计算x的快速离散傅里叶反变换y
y=ifft(x,N); %计算x的N点IFFT
利用FFT计算线性卷积:
步骤如下:
将x1 (n)和x2(n)都延长到N点, N=N1+N2-1
计算x1(n)的N点DFT,即:X1(k)=FFT[x1(n)]
计算x2(n)的N点DFT,即:X2(k)=FFT[x2(n)]
计算 Y(k)=X1(k)X2(k)
计算的反变换,即y(n)=IFFT[X1(k)X2(k)]
利用FFT对信号进行谱分析:
包括振幅谱,相位谱和功率谱。
参数:fs=2f0
在matlab中,提供了计算模值的函数abs和计算相角的函数angle,其用法如下:
Abs(x);
Angle(x); 实 验 内 容 1.对于两个序列:x(n)=nR16(n),h(n)=R8(n)
(1)在同一图形窗口中绘出两序列的时域图形。
(2)利用FFT编程计算两序列的线性卷积,绘出的时域图形。
设计方案:
首先定义x序列,为离散序列,再通过stem函数将x依次与y序列对应,即可表示两序列。然后利用FFT计算俩序列的线性卷积,方法与步骤如实验原理所述,注意为使计算快速,可延长时把两序列都延长到最接近的2的整数幂的值,通过函数N=2^nextpow2(N1+N2-1)实现,然后两序列补零,求傅里叶变换,相乘,求反变换,依次即可实现。
源程序:
%两序列时域波形
N1=16;
x1=0:N1-1;
y1=x1;
N2=8;
x2=0:N2-1;
y2=ones(1,N2);
subplot(2,1,1);
stem(x1,y1,b);hold on;stem(x2,y2,r);
title(两序列时域波形);
%线性卷积时域波形
N=2^nextpow2(N1+N2-1);
y3=[y1(1:N1) zeros(1,N-N1)];
y4=[y2(1:N2) zeros(1,N-N2)];
Y1=fft(y3,N);
Y2=fft(y4,N);
Y=Y1.*Y2;
y=ifft(Y,N);
n=0:N-1;
subplot(2,1,2);
stem(n,y);
title(线性卷积时域波形);
2.利用FFT对信号进行谱分析
对于连续信号xa(t)=cos(2πf1t) +5cos(2πf2t) +cos(2πf3t) ,其中f1=6.5kHz, f2=7kHz, f3=9kHz, 以采样频率fs=32 kHz对其进行采样,
(1)对xa(t) 信号采集16点样本,分别作16点和补零到256点的FFT,并分别绘出对应的幅频特性曲线。
(2)对xa(t)信号采集256点样本,分别作256点和512点的FFT,并分别绘出对应的幅频特性曲线。
(3)比较(1)和(2)中的结果,分析采样点数和傅里叶变换点数对FFT的影响,说明高密度频谱和高分辨率频谱的特点与区别。
设计方案:
若要表示具有特定采样频率的信号,先需要根据采样频率定义时间轴向量,然后定义函数,依次表示出16个采样点,补零到256个采样点,256个采样点和补零至512个采样点时的时域波形和频谱,图形表示时直接使用stem()函数即可,补零用x2=[x(1:N1) zeros(1,N2-N1)]这样的形式,快速傅里叶变换为fft()函数,幅值用abs()函数直接求解。
源程序:
f1=6500;f2=7000;f3=9000;fs=32000;
t=0:1/fs:1;
x=cos(2*f1*pi*t)+5*cos(2*f2*pi*t)+cos
文档评论(0)