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

数字信号处理课程设计实验报告

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

1050-45hx-3-2-1nx0120-2100x和h的卷积-1.5-1-0.500.5nh11.522.53500-6-4-20n246

六、实验总结与思考

实验二 离散傅立叶变换与快速傅立叶变换

一、实验目的和要求

实验目的:

(1)加深理解离散傅里叶变换及快速傅里叶变换概念; (2)学会应用FFT对典型信号进行频谱分析的方法; (3)研究如何利用FFT程序分析确定性时间连续信号; (4)熟悉应用FFT实现两个序列的线性卷积的方法; 实验要求:

(1)编制DFT程序及FFT程序,并比较DFT程序与FFT程序的运行时间。给编制的程序加注释;

(2)完成实验内容2,并对结果进行分析。实验中的信号序列xc(n)和xd(n),在单位圆上的Z变换频谱|Xc(j?)|和|Xd(j?)|会相同吗?如果不同,你能说出哪一个低频分量更多一些吗?为什么? (3)完成实验内容3,并对结果进行分析;

(4)利用编制的计算卷积的计算程序,分别给出一下三组函数的卷积结果。

?1 0?n?14①x(n)??

0 其他??4?h(n)??? 0?n?14

?5??1 0?n?9 ②x(n)??

0 其他?h(n)?0.5sin(0.5n) 0?n?9

③x(n)?(1?0.1n) 0?n?9

nh(n)?0.1n 0?n?9

二、实验原理

4.在matlab信号处理工具箱中提供了4个FFT内部函数用于计算DFT和IDFT,它们分别是:fft(x),fft(x,l),ifft(X),ifft(X,L)

①fft(x):用于计算N点的DFT,N是序列的长度。

②fft(x,L):计算L点的DFT,若N?L,则将原序列截短为L点的序列,再计算

其L点的DFT;若N?L,则将原序列补零至L点,再计算其DFT。

③ifft(X):计算N点的IDFT,N是频域序列的长度。

④ifft(X,L):计算L点的IDFT。若N?L,则将原序列截短为L点的序列,再

计算其L点的DFT;若N?L,则将原序列补零至L点,再计算其IDFT。

三、实验方法与内容(需求分析、算法设计思路、流程图等)

实验内容:

(1)用离散傅立叶变换程序处理时间抽样信号,并根据实序列离散傅立叶变换的对称性,初步判定程序的正确性;

(2)观察三角波和反三角波序列的时域和幅频特性,用N=8点FFT分析信号序列

xc(n)和xd(n)的幅频特性观察两者的序列形状和频谱曲线有什么异同?绘出两序列及其幅频特性曲线。 三角波序列

?n?1 0?n?3?xc(n)??8?n 4?n

?0 else? 反三角波序列

?4?n 0?n?3 ?xd(n)??n?3 4?n

?0 else?(3)已知余弦信号如下

x(t)?cos(2?Ft)当信号频率F=50Hz采样间隔T?0.00625s,采样长度N?64时,

对该信号进行傅立叶变换。用FFT程序分析正弦信号,分别在以下情况下进行,并且分析比较结果。

①F?50,N?32,T?0.000625; ②F?50,N?32,T?0.005; ③F?50,N?32,T?0.0046875; ④F?50,N?32,T?0.004;

(4)选定某一时间信号进行N?64点离散傅立叶变换,并且,对同一信号进行快速傅立叶变换,并比较它们的速度。 四、实验原始纪录(源程序等) 1.如果x(n)?sin(n?n?)?sin()是一个N?16的有限长序列,用MATLAB求其84DFT的结果,并画出其结果图,如图2-1所示 源程序: clc

clear all N=16;

n=0:1:N-1;%时域采样 xn=sin(n*pi/8)+sin(n*pi/4); k=0:1:N-1;%频域采样 WN=exp(-j*2*pi/N); nk=n'*k;

WNnk=WN.^nk; Xk=xn*WNnk; subplot(2,1,1) stem(n,xn); xlabel('n'); ylabel('x(n)'); subplot(2,1,2) stem(k,abs(Xk)); xlabel('k'); ylabel('X(k)'); 2.(1)三角波 clear all; clc

n=0:1:7;

x1=(n+1).*(n>=0).*(n<=3)+(8-n).*(n>=4); % 三角波序列 subplot(3,1,1);stem(n,x1); title('三角波序列');xlabel('n'); N=8; k=0:N-1; X1=fft(x1,N);

magX1=abs(X1);phaX1=angle(X1); subplot(3,1,2);stem(k,magX1);

xlabel('k');ylabel('三角波DFT的幅度'); subplot(3,1,3);stem(k,phaX1);

xlabel('k');ylabel('三角波DFT的相位'); (2)反三角波 clear all; clc

n=0:1:7;

x2=(4-n).*(n>=0).*(n<=3)+(n-3).*(n>=4); % 反三角波序列 subplot(3,1,1);stem(n,x2);

title('反三角波序列');xlabel('n'); N=8; k=0:N-1; X2=fft(x2,N);

magX2=abs(X2);phaX2=angle(X2);

subplot(3,1,2);stem(k,magX2); xlabel('k');ylabel('幅度');

subplot(3,1,3);stem(k,phaX2); xlabel('k');ylabel('相位'); 3.余弦信号

function cos_fft(F,N,T) %用FFT分析正弦信号 n=[0:N-1];

t=n*T;% 设置采样点

x=cos(2*pi*F*t);% 创建采样正弦信号

Xk=fft(x,N); % 求采样正弦信号的N点FFT k=[0:N-1]; subplot(2,1,1);

stem(t,x); % 作图显示采样正弦信号时域波形 xlabel('t/以T为单位'); ylabel('x(t)');

title('正弦信号采样序列'); subplot(2,1,2);

stem(k,abs(Xk)); % 作图显示采样正弦信号频谱 xlabel('k'); ylabel('|X(k)|');

title('正弦信号采样序列的傅里叶变换');

%对同一余弦信号进行不同形式采样并分析后的结果 clear all; echo off;

F=50; % 余弦信号的模拟域频率

N=[32,32,32,32,64]; %各采样信号的采样点数

T=[0.000625,0.005,0.0046875,0.004,0.000625] %各采样信号的采样间隔 for i=1:5

figure(i);

cos_fft(F,N(i),T(i)); %对各采样信号进行FFT变换并作图显示 end

4.设x(n)?0.8cos(0.47?n)?0.4cos(0.53?n),0?n?9 (1)DFT计算源程序 N=64; n=0:1:N-1; tic,

xn=0.8*cos(0.47*pi*n)+0.4*cos(0.57*pi*n); k=0:1:N-1;

WN=exp(-j*2*pi/N); nk=n'*k;

WNnk=WN.^nk;

数字信号处理课程设计实验报告

1050-45hx-3-2-1nx0120-2100x和h的卷积-1.5-1-0.500.5nh11.522.53500-6-4-20n246六、实验总结与思考实验二离散傅立叶变换与快速傅立叶变换一、实验目的和要求实验目的:(1)加深理解离散傅里叶变换及快速傅里叶变换概念;(2)学会应用FFT对典型信号进
推荐度:
点击下载文档文档为doc格式
70h4r82hl07916095eiv3gyk618jli007zv
领取福利

微信扫码领取福利

微信扫码分享