数字信号论文报告
离散时间系统的响应
学号: 20065578 刘彦宏
20065575 肖宇
摘要:
离散时间系统是按预先设定的算法规则,将输入离散时间信号转
换为所要求的输出离散时间信号的特定功能装置。离散时间系统还可分成线性和非线性两种。离散时间系统有两种描述方法:输入-输出描述法和状态变量描述法。
在具体的实例中,我们分析了经过数字信号系统H(Z)的输入信号与输出信号的波形以及频谱特征以及变化,以及产生这些变化的原因。在这里我们选择了带通滤波器系统以及低通滤波器系统来加以分析。
关键字:FFT 函数,频率响应,单位冲激响应,频谱。 要求:
⏹ 分析习数字序列的表示方法,采用FFT 函数给出两种典型信号的时域/频域图。
⏹ 绘制数字信号系统H(z)的频率响应、单位冲激响应图形,并加以分析。
⏹ 对比通过数字系统前后的输入和输出信号的波形和频谱差异,说明原因。
⏹ 论文内容包括理论基础、编程设计和结果分析。
一:数字序列的定义以及表示:
在离散时间系统中,信号一般只在均匀间隔的离散时间nT 上给出函数值,因此,要表示成离散时间的数字序列。由于在实际信号处理过程中,信号要按顺序存放在存储器获寄存器里供随时取用,nT 更多地表示信号在序列中前后位置的顺序,因而可以直接用x (n )表示第n 个离散时间点的序列值。这样离散时间信号可表示为:
x ={x (n ) }, -∞
x (n )表示序列的第n 个离散时间点的取值,为了方便常常直接用x (n )
表示离散时间信号也可以用图形来描述。
x (n )
-2 -1 0 1
y =1.5sin(0.5πx +π/3) 的时域图:
2
n
二:1. 数字序列信号的时域图
通过MATLAB 便可绘制出(1)单位冲激信号和(2)正弦序列信号
单位冲击信号时域
图
正弦信号时域图
5
10
15
20
25
30
35
40
MATLAB 程序为 N=40; n=0:1:39; x=zeros(1,N); x(3)=1;
subplot(2,1,1);
stem(n,x); %单位冲激信号 title('单位冲击信号时域图'); y=1.5*sin(0.5*pi*n+pi/3); subplot(2,1,2);
stem(n,y); %正弦序列信号 title('正弦信号时域图');
2. 数字序列信号通过FFT 算法(z=fft(y,N))后然后通过subplot 函数画出图形得到频域图如下:
单位冲激信号频谱图
21.8
1.61.41.2
幅值
10.80.60.40.200
2
4
6
8
1012频率 (Hz)
14
16
18
20
单位冲激信号的MATLAB 程序如下所示: fs=20; N=16; n=0:N-1; x=[(n-1)==0]; y=fft(x,N); mag=abs(y);
f=(0:length(y)-1)'*fs/length(y); plot(f,mag);
xlabel('频率 (Hz)'); ylabel('幅值');
title('单位冲激信号频谱图')
[**************]20
正弦信号频谱图
30
20
10
00.20.40.60.811.21.41.61.82
正弦信号频谱图的MATLAB 程序如下 N=40; fs=2;
n=0:1:39;t=n/fs;
y=1.5*sin(0.5*pi*t+pi/3); subplot(2,1,1);stem(t,y); yf=fft(y);
subplot(2,1,2);
plot(n*fs/40,abs(yf));
2π
=4所以频率0.5π
f=1/4,在上面的频谱图中我们可以清晰地看到频谱图正确反映了正弦信号的固有自身频率。
三.离散系统的频率响应 1. 离散系统的基本概念:
Y (z )
H (z ) =系统函数在单位圆上的系统函数就是系统的频率响
X (z )
应特性; H (e j ω) =H (z )
***分析:可以从正弦信号的表达式可以看出其周期T =
z =e j ω
Y (e j ω) j ω==H (ω) e X (e j )
线性时不变系统可用常系数线性差分方程描述:
a k y (n -k ) =∑b m x (n -m ) ∑ k =0m =0
M M
-m
(1-c m z -1) b m z ∑∏Y (z ) m =0=1
H (z ) ==N =K m N 在系统零状态下,取z 变换:
X (z )
∑a k z -k ∏(1-d k z -1)
k =0
k =1
N M
极点和零点决定了系统函数的形式和收敛域。 系统对复指数和正弦信号的稳态响应。 设 x (n ) =e j ωn , -∞
∞
y (n ) =x (n ) *h (n ) =∑h (m ) e j ω(n -m )
m =-∞
∞ j ωn
=e h (m ) e -j ωm =e j ωn H (e j ω) ∑
m =-∞
∞
j ωωm
H ( e ) = h ( m ) e - j = ( z ) z = e j H ω 称为系统的频率响应。 ∑m =-∞
2. 在这个试验中我们组选择了一个数字序列信号系统H(z)
0.1324-0.3963z -2+0.3963z -4-0.1321z -6
H (z ) =
1+0.34319z -2+0.60439z -4+0.20407z -6
求该系统的单位冲激响应图形
系统的单位冲激响应
h (n )
10
20n
30
40
MATLAB 程序如下:
a=[1,0,0.34319,0,0.60439,0,0.20407]; b=[0.1321,0,-0.3963,0,0.3963,0,-0.1321]; N=32;n=0:N-1;
hn=impz(b,a,n); %求时域的单位冲激响应 stem(n,hn);
title('系统的单位冲激响应'); ylabel('h(n)');xlabel('n');
freqz(b,a); %信号的频率响应实现
分析经过系统H (Z )单位冲激信号的波形差异,我们可以看到冲激信号出
现了延时;IIR 滤波器用了延时单元能最大限度节约硬件寄存器和存储单元。
信号系统的频率响应
M a g n i t u d e (d B )
-50
-100
-150
00.10.2
0.30.40.50.60.70.8Normalized Frequency (⨯π rad/sample)
0.91
P h a s e (d e g r e e s )
-200
-400-600-800
00.10.2
0.30.40.50.60.70.8Normalized Frequency (⨯π rad/sample)
0.91
分析系统的频率响应可见,该系统是一个IIR 数字带通滤波器,其中幅频特性采用归一化的相对幅值,以分贝(dB)为单位。 四.低通滤波器
FIR 低通滤波器阶数为40,截止频率为200Hz ,采样频率为Fs=1000Hz。设计此滤波器并对信号x(t)=sin(2*pi*f1*t)+sin(2*pi*f2*t)滤波,f1=50Hz,f2=250Hz,选取滤波器输出地第81个采样点到第241个采样点之间的信号并与对应的输入信号输出信号波形频谱进行比较,分析。
输入信号波形图
21
0-1-20.05
10.5
0-0.5-10.05
输出信号波形图
0.10.150.20.250.10.150.20.25
输入信号频谱图
600400
8060
40
200
20
500
1000
00
输出信号频谱图
5001000
该问题MATLAB 程序如下:
clf;N=1000;Fs=1000; %数据总数和采样频率 fc=200;
n=[0:N-1];t=n/Fs; %时间序列 f1=50;f2=250;
x=sin(2*pi*f1*t)+sin(2*pi*f2*t); %输入信号
b=fir1(40,fc*2/Fs); %设计40阶的低通滤波器 yfft=fftfilt(b,x,256); %对数据进行滤波
n1=81:241;t1=t(n1); %选择采样点间隔
x1=x(n1); %与采样点对应的输入信号 subplot(2,2,1);plot(t1,x1);title('输入信号波形图');grid on; %绘制输入信号 n2=n1-40/2;t2=t(n2); %输出信号扣除了相位延迟N/2 y2=yfft(n2);
subplot(2,2,2);plot(t2,y2);title('输出信号波形图');grid on; %绘制输出信号 fx=fft(x,N); %进行快速傅里叶变换
mag=abs(fx); %求得傅里叶变换后的幅值 f=n*Fs/N; %频率序列
subplot(2,2,3),plot(f,mag);title('输入信号频谱图'); %绘制输入信号频谱图 fy=fft(y2,N); magy=abs(fy); f=n*Fs/N;
subplot(2,2,4),plot(f,magy);title('输出信号频谱图'); %绘制输出信号频谱图
**分析:
该系统为低通滤波器,而且截止频率为200Hz ,也就是说频率大于200Hz 的信号将不能通过该系统,而频率小于200Hz 的信号将能够顺利通过,本题选取的信号分别为50Hz 和250 Hz,不难得出,250 Hz的信号将不能通过,将被系统截止,而实际状况是不是这样呢?
通过观察MATLAB 绘制的信号波形图和频谱图可以发现输入信号是由两个不同频率的波形叠加而成的,而且图形显示其两个信号也是在50 Hz和250 Hz的位置,重点观察经过系统前后的信号频谱差异,发现输入信号的频率值有2个(50 Hz 250 Hz),而输出信号的频率值只有1个(50 Hz),这说明输入信号在通过系统时滤掉了大于截止频率的250 Hz 高频信号,只留下50 Hz的低频信号。
对比波形图我们也能发现信号出现了部分丢失,输入信号是一个叠加信号,而输出信号已经变成了单一的正弦信号,这就说明了滤波器滤掉了一部分信号,上面已经作出了陈述。
参考书目:
(1)数字信号处理---原理与算法实现 清华大学出版社,刘明,徐洪波
(2)数字信号处理实验(MATLAB 版) 西安电子科技大学出版社,刘舒帆,费诺,陆辉
(3)数字信号处理的MATLAB 实现 革
(4)数字信号处理----原理与实践 方勇
科学出版社,万勇清华大学出版社,