DSP实验报告 下载本文

内容发布更新时间 : 2024/11/15 3:08:16星期一 下面是文章的全部内容请认真阅读。

从差分方程求频率响应当LTI系统用差分方程表示如下:

NM

y(n)?aly(n?l)?bmx(n?m) l?1m?0上式做变换 NMj?j?nj?j?(n?l) H(e)e?alH(e)e?bmej?(n?m)l?1m?0

M消去共有项 e j ? n 得

bme?j?m

H(ej?)?m?0N

1?ale?j?l l?1

例:一个LTI系统的差分方程如下: y(n)=0.8y(n-1)+x(n)

(n) ?cos(0.05求H(ejw) ,求出并画出它对输入 x ? n ) u ( n ) 的稳态响应

把差分方程改写成

y(n)-0.8y(n-1)=x(n) 利用上面分析的公式,可得

1

H(ej?)? 1?0.8e?j?1将系统的输入x(n)带入

H(ej0.05?)??4.0928e?j0.5377j0.05? 1?0.8e因此

yrs(n)?4.0928cos(0.05?n?0.5377)?4.0928cos[0.05?(n?3.42)]

输出端信号放大4.0928倍并移位3.42个采样周期

函数filter

对给定输入和差分方程系数时求解差分方程的数值解。 格式

y=filter(b,a,x)

其中b,a为差分方程的系数向量,x是输入序列。 输出y和输入x的长度一致。

??????b=1; a=[1,-0.8]; n=0:100;

x=cos(0.05*pi*n); y=filter(b,a,x);

subplot(2,1,1); stem(n,x)

xlabel('n');ylabel('x(n)');title('输入序列'); subplot(2,1,2); stem(n,y)

xlabel('n');ylabel('y(n)');title('输出序列');

四、实验报告要求

1. 简述实验目的和实验原理。

2. 总结实验中的主要结论,你的收获和体会。

实验三 快速傅立叶变换(FFT)及其应用

一、实验目的

1. 了解计算DFT算法存在的问题及改进途径。

2. 掌握几种DFT算法(时间抽取算法DIT算法,频率抽取算法DIF算法,线性调频

Z变换即CZT法)。

3. 学习并掌握FFT的应用。

二、实验原理

有限长序列通过离散傅里叶变换(DFT)将其频域离散化成有限长序列。但其计算量太大(与N的平方成正比),,很难实时地处理问题,,因此引出了快速傅里叶变换(FFT)。

FFT并不是一种新的变换形式,它只是DFT的一种快速算法。并且根据对序列分解与选取方法的不同而产生了FFT的多种算法。

DFT的快速算法—FFT是数字信号处理的基本方法和基本技术,是必须牢牢掌握的。 时间抽选FFT算法的理论推导和流图详见《数字信号处理》教材。该算法遵循两条准则:

(1)对时间奇偶分;(2)对频率前后分。

这种算法的流图特点是: 1) 基本运算单元都是蝶形

任何一个长度为N=2M的序列,总可通过M次分解最后成为2点的DFT计算。如图所示:

? WNk称为旋转因子 ? 计算方程如下:

Xm+1(p)=Xm(p)+WNkXm(q) Xm+1(q)=Xm(p)-WNkXm(q) 2) 同址(原位)计算

这是由蝶形运算带来的好处,每一级蝶形运算的结果Xm+1(p)无须另外存储,只要再存入Xm(p)中即可,Xm+1(q)亦然。这样将大大节省存储单元。 3) 变址计算 输入为“混序”(码位倒置)排列,输出按自然序排列,因而对输入要进行“变址”计算(即码位倒置计算)。“变址”实际上是一种“整序”的行为,目的是保证“同址”。 FFT的应用

凡是利用付里叶变换来进行分析、综合、变换的地方,都可以利用FFT算法来减少其计算量。

FFT主要应用在 1. 快速卷积 2. 快速相关 3. 频谱分析

快速傅立叶变换的MATLAB实现

提供fft函数计算DFT 格式

X=fft(x) X=fft(x,N)

如果x的长度小于N,则在其后填零使其成为N点序列,若省略变量N,则DFT的长度即为x的长度。

如果N为2的幂,则得到高速的基-2FFT算法;若N不是2的乘方,则为较慢的混合算法。

如果x是矩阵,则X是对矩阵的每一列向量作FFT。

例:已知信号由15Hz幅值0.5的正弦信号和40Hz幅值2的正弦信号组成,数据采样频率为100Hz,试绘制N=128点DFT的幅频图。 由题目可得

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);

f=(0:length(y)-1)'*fs/length(y); mag=abs(y); stem(f,mag); title('N=128点')

利用FFT进行功率谱的噪声分析

? 已知带有测量噪声信号 x ? f 1t ) ? sin(2 ? f 2t ) ? 2 ? ( t ) 其中(t ) ? sin(2f1=50Hz,f2=120Hz, ? (t ) 为均值为零、方差为1的随机信号,采样频率为1000Hz,数据点数N=512。试绘制信号的频谱图和功率谱图。