100404334王鹏1

更新时间:2023-10-10 06:46:01 阅读量: 综合文库 文档下载

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

数字信号处理实验一:信号及系统的谱分析

学号 100404334 姓名 王鹏

注:1)此次实验作为《数字信号处理》课程实验成绩的重要依据,请同学们认真、独立完成,不得抄袭。

2)请在授课教师规定的时间内完成;

3)完成作业后,请以word格式保存,文件名为:学号+姓名

4)请通读全文,依据第2及第3 两部分内容,认真填写第4部分所需的实验数据,并完成实验分析。 5)需将这次实验的内容给出一个纸质报告(31-40号)。全体将报告的电子版交给班长以便实验结束后刻成光盘

1. 实验目的

(1) 熟练利用DFT计算公式对信号进行谱分析, 加深DFT算法原理和基本性质的理解。 (2) 利用卷积方法计算信号经过离散系统输出响应,并观察输出信号的频谱变化。

(3) 熟悉FFT算法原理和FFT子程序的应用,掌握利用函数fft.m对离散信号及系统响应进行

频域分析。

(4) 理解并掌握利用FFT实现线性卷积的方法。了解可能出现的分析误差及其原因, 以便在实际中正确应用FFT。 2. 实验原理与方法

1)离散傅里叶变换(DFT)的基本原理

离散傅里叶变换(DFT)是分析有限长序列频谱成分的重要工具,在信号处理的理论上有重要意义。由于其可以在计算机上实现谱分析、 卷积、相关等主要的信号频谱分析过程,因此DFT的快速算法得到了广泛的应用。

实现DFT的基本计算公式如下:

2)系统响应信号的时域分析(卷积运算)

离散信号输入离散系统后,若系统起始状态为0,则系统的响应输出是 其方框图表示如下:

图 1

nkX(k)?DFT?x(n)???x(n)WNn?0N?11x(n)?IDFT?X(k)??N?X(k)Wk?0N?1?nkNyzs[n]?h[n]?x[n]x[n]离散系统 h(n) yzs[n]?h[n]?x[n]在matlab中 计算卷积的函数为y=conv(x,h)。

3)FFT实现线性卷积的快速计算

x [n] ,设一离散线性移不变系统的冲激响应为 h [ n ] ,长度为L点;其输入信号为 长

? h] ? x度为M点;其输出为 y zs [ n ] [ n [ n ] ,长度为M+L-1点。

当满足一定条件 N ? ? L 1 时,有限长序列的线性卷积可用圆周卷积和来代替,M?而圆周卷积可用FFT来计算,从而可以大大提高运算速度。 用FFT实现线性卷积计算的具体步骤:

(1)有限长序列 h [n ] 和 x [n ] 补零值点,至长度为大于或等于M+L-1点,且为 2 , r为整数。

r? DFTh ( n )](2)求 H (K ) [ ,N点DFT,用FFT快速算法实现; [x(n)](3)求 X [ K ] ? DFT ,N点DFT,用FFT快速算法实现; (K(4)计算 Y ) ? X ( K ) H (K ) ;

(K(5)求 y [ n ] ? IDFT [ Y )] N点IDFT,用IFFT快速算法完成。

3. 实验内容及步骤

某系统的单位样值响应为:

sin[0.15?(n?500)h(n)?R1001(n)?(n?500),

信号x(n)=(SIN(ω1n)+COS(ω2n))R1023(n), 输入该系统后,输出的响应信号为y(n)。

请认真复习离散信号与系统、 线性卷积、 序列的傅里叶变换及性质等有关内容, 阅读上述实验原理与方法,编制2个程序文件完成如下2部分实验内容。

一) 利用函数y=conv(x,h)求解响

应信号y(n)(流程图见图2) 要求:a)利用函数y=conv(x,h)

求解响应信号y(n);

b) 利用DFT的计算 公式对x(n),h(n)和y(n)DFT计算;

写入序列hn;调用子程序dft.m计算hk 相关作图语句 写入序列xn;调用子程序dft.m计算xk 调用子程序conv.m计算yn, 调用子程序dft.m计算yk, 开始 图 2

在第一个图形框内给出x(n)的波形图和频谱图X(K),在第二个图形框内给出h(n)的波形图和频谱图H(K),在第三个图形框内给出y(n)的波形图和频谱图Y(K);在第四个图形框内给出X(K),H(K)和Y(K)的频谱图,并分析这3张频谱图的关系。

c) 给出程序内容

d) 统计程序运行时间T1。

注意: a)dft.m为学生自己编写的自定义函数文件,根据DFT运算的计算公式完成

xk=DFT(xn)功能,xk为时间序列xn的DFT变换xk。

b)dft.m 可参考<数字信号处理>教材P117的例题3-6自行理解并修改为函数

文件

二) 利用FFT实现线性卷积计算(流程图见 图 3)

要求:a)利用FFT实现线性卷积计算的步骤编写程序求解y(n)

在第一个图形框内给出x(n)的波形图和频谱图X(K),在第二个图形框

内给出h(n)的波形图和频谱图H(K),在第三个图形框内给出y(n)的波形图和频谱图Y(K);在第四个图形框内给出X(K),H(K)和Y(K)的频谱图,并分析这3张频谱图的关系。

c) 给出程序内容

clc,close,clear tic

n=0:1022;

x=(sin(0.08*pi*n)+cos(0.4*pi*n)); figure(1);plot(abs(x));title('xn'); N=2048;

XK=fft(x,N);

figure(2);plot(abs(XK));title('XK');

m=0:1000;

h=0.15*sinc(0.15*(m-500));

figure;

figure(3);plot(abs(h));title('hn');

HK=fft(h,N);

figure(4);plot(abs(HK));title('HK');

YK=XK.*HK;

figure; y=ifft(YK);

figure(5);plot(abs(y));title('yn'); figure(6);plot(abs(YK));title('YK');

toc

d) 统计程序运行时间T2。

4. 实验数据及分析 实验数据:

一、利用函数y=conv(x,h)求解响应信号y(n)

1) 将yn1和Xk1、Hk1及Yk1存为dft1.mat文件上交;

2)按要求给出相关的图形xn1和Xk1、hn1和Hk1及yn1和Yk1 3)程序内容:(包括主程序和函数文件dft.m) 4)运行时间T1=

二、利用FFT实现线性卷积计算

1) 将yn2和Xk2、Hk2及Yk2存为fft1.mat文件上交;

2)按要求给出相关的图形xn2和Xk2、hn2和Hk2及yn2和Yk2

开始 写入序列xn和hn 计算yk=xk.hk 计算fft运算所需点数N 调用子程序ifft.m计算yn 调用子程序fft.m计算xk和hk 相关作图语句 结束 图 3 Figure(1)

xn21.81.61.41.210.80.60.40.20020040060080010001200

Figure(2)

XK600500400300200100005001000150020002500

Figure(3)

hn0.160.140.120.10.080.060.040.020020040060080010001200

Figure4

HK1.41.210.80.60.40.2005001000150020002500

Figure5

yn1.41.210.80.60.40.2005001000150020002500

Figure6

YK600500400300200100005001000150020002500

3)程序内容:(主程序) clc,close,clear tic

n=0:1022;

x=(sin(0.08*pi*n)+cos(0.4*pi*n));

figure(1);plot(abs(x));title('xn'); N=2048; XK=fft(x,N);

figure(2);plot(abs(XK));title('XK'); m=0:1000;

h=0.15*sinc(0.15*(m-500)); figure;

figure(3);plot(abs(h));title('hn'); HK=fft(h,N);

figure(4);plot(abs(HK));title('HK'); YK=XK.*HK; figure; y=ifft(YK);

figure(5);plot(abs(y));title('yn'); figure(6);plot(abs(YK));title('YK'); toc

4)运行时间T2=0.22 s

实验分析:

1 ) 若二)中FFT的点数N取值比L+M-1小,则实验结果是否正确,为什么?

答:不正确,因为只有当N>=L+M-1时,循环卷积才能代表线性卷积,否则, 会发生频谱混叠,不能代表线性卷积。

2) 比较一)和二)两种方法所得结果y(n)长度是否相同,为什么?

答:不相同,fft运算的长度应为2的L次方,长度N=2048>dft运算的长度。

3) 比较运行时间T1和T2,给出两者数值不同的主要原因;

答:当满足一定条件时,有限长序列的线性卷积可用圆周卷积和来代替,而圆周卷积可用FFT来计算,从而可以大大提高运算速度。

4) 改变ω1和ω2的值来看结果,并分析所得的结果

W1=0.08Pi, W2=0 .8Pi 时

xn21.81.61.41.210.80.60.40.20020040060080010001200

XK600500400300200100005001000150020002500

hn0.160.140.120.10.080.060.040.020020040060080010001200

HK1.41.210.80.60.40.2005001000150020002500

yn1.41.210.80.60.40.2005001000150020002500

YK600500400300200100005001000150020002500

答:由实验可知,改变ω1 和ω2之后,Xk的图形随之发生变化,这主要是由于改变ω1 和ω2之后,信号的离散周期N发生变化,而在频域上采样间隔也随之发生变化。

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

Top