数字信号处理数据参考Word文档下载推荐.docx
《数字信号处理数据参考Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数字信号处理数据参考Word文档下载推荐.docx(8页珍藏版)》请在冰豆网上搜索。
对x(t)以T为间隔进行取样,长度为一个周期T0,dt
T,
T0=NT,得到
=
连续周期信号的频谱求解步骤:
(1)根据取样定理,确定时域取样间隔T;
(2)计算一个周期内的取样点数N。
(3)使用FFT命令作N点FFT计算,求得X(k);
(4)最后求得连续周期信号的频谱为X(k
)=
X(k)
(二)利用MATLAB来进行连续系统分析。
连续系统的时域分析主要是求解系统在连续信号激励下的输出。
一个线性时不变连续时间系统可以用线性常系数微分方程描述,对系统的时域分析可归结为如何利用数学方法对该方程求解。
早期的经典法就是直接求解微分方程[2],得到与齐次解对应的自由响应和与特解对应的强迫响应。
这种方法计算复杂、花时费力。
利用拉氏变换可简化运算,间接求解微分方程。
设LTI因果系统的微分方程一般式为:
一般从激励信号的加入时刻开始计时,起始状态(简称0-状态)包含了计算未来响应的全部过去信息。
对微分方程两边进行下限为0-的单边带拉氏变换,利用拉氏变换的微分性质,并考虑到
及其各阶导数都为0,得:
整理成
形式,有:
根据系统的微分方程,可直接写出
和
,由系统的起始状态可算出
,将系统输入进行拉氏变换可得到
。
系统函数
,将系统函数进行拉氏反变换就是单位冲激响应;
将
进行拉氏反变换得到零输入响应;
进行拉氏反变换得到零状态响应;
零输入响应与零状态响应的和即为全响应。
整个分析过程均可用MATLAB实现。
(三)FIR数字滤波器设计原理
根据数字滤波器冲激响应的时域特征,可将数字滤波器分为2种,即无限长冲激响应滤波器(IIRDF)和有限长冲激响应滤波器(FIRDF)。
FIRDF具有突出的优点:
系统总是稳定的、易于实现线性相位、允许设计多通带(或多阻带)滤波器。
因此FIRDF在数字信号处理中得到广泛的应用。
但与IIRDF相比,在满足同样的阻带衰减的情况下需要较高的阶数。
滤波器阶数越高将占用更多的DSP运算时间。
因此,对FIRDF的设计目标是在满足指标要求的情况下尽量减少滤波器的阶数。
数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。
FIRDF的冲激响应h(k)是有限长的M阶FIRDF系统函数可表示为
滤波器的输出
它的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数问题,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。
若要逼近的理想滤波器的频率响应为常用的有巴特沃思滤波器、切比雪夫型滤波器、椭圆滤波器和巴塞尔滤波器。
四、设计过程
(一)例1已知
x(n)=cos(0.48πn)+cos(0.52πn)
1)0≤n≤10时,用DFT估计x(n)的频谱;
将x(n)补零加长到长度为100点序列用DFT估计x(n)的频谱。
要求画出相应波形。
2)0≤n≤100时,用DFT估计x(n)的频谱,并画出波形
程序代码
n=[0:
10];
x=cos(0.48*pi*n)+cos(0.52*pi*n);
%x(n)频谱n在0到10
y=fft(x);
subplot(3,1,1);
stem(n,y,'
filled'
);
xn=[x,zeros(1,90)];
%对xn补零
yn=fft(xn);
holdon;
nn=[0:
100];
subplot(3,1,2);
stem(nn,yn,'
n1=[0:
x1=cos(0.48*pi*n1)+cos(0.52*pi*n1);
%x(n)频谱n在0到100
y1=fft(x1);
subplot(3,1,3);
stem(n1,y1,'
输出图像:
(二)例二:
已知一系统,设输入为:
,起始状态为:
,试利用拉氏变换法计算并图示系统的单位冲激响应、零输入响应、零状态响应和全响应。
利用MATLAB实现时域分析的m程序如下:
clc;
closeall;
clear;
symsst;
a=[1,6,15,24];
b=[0,0,2,4];
As=poly2sym(a,'
s'
),Bs=poly2sym(b,'
),xt=10*exp(-0.5*t)*heaviside(t),
Xs=laplace(xt),
y0=[1,0,-12];
n=length(a)-1;
Cs=0;
fork=1:
n;
forr=0:
(k-1);
Cs=Cs+a(n-k+1)*y0(r+1)*s^(k-1-r);
ht=ilaplace(Bs/As);
ht1=vpa(ht,4),pretty(ht1),yzit=ilaplace(Cs/As);
yzit1=vpa(yzit,4),pretty(yzit1),yzst=ilaplace(Bs*Xs/As);
yzst1=vpa(yzst,4),pretty(yzst1),yt=yzit1+yzst1,pretty(yt),
t1=linspace(0,5,100);
ht2=subs(ht1,t,t1);
subplot(2,1,1);
plot(t1,ht2),
xlabel('
时间(秒)'
),ylabel('
幅度'
),
grid,title('
系统冲激响应'
yzit2=subs(yzit1,t,t1);
subplot(2,1,2);
plot(t1,yzit2,'
k:
'
yzst2=subs(yzst1,t,t1);
plot(t1,yzst2,'
r-.'
yt2=subs(yt,t,t1);
plot(t1,yt2,'
b-'
legend('
零输入'
'
零状态'
全响应'
0),
系统响应'
)
例三:
选择设计FIR的Blackman窗的低通滤波器,其Fs=22050Hz,Fp1=3400Hz,Fs1=5000Hz,Rp=2dB,Rs=20dB
程序和效果图(图3)如下:
Fs=22050;
Fp1=3400;
Fs1=5000;
Rp=3;
Rs=20;
n=75;
%设计指标
wp1=2*Fp1/Fs;
ws1=2*Fs1/Fs;
%求归一化频率
%确定的最小阶数N和频率参数Wn
[n,Wn]=buttord(wp1,ws1,Rp,Rs);
[b,a]=butter(N,Wn);
%确定传递函数的分子、分母系数
w=blackman(n+1);
%确定窗口值
%w=boxcar(n+1);
%w=bartlett(n+1);
%w=triang(n+1);
%w=hanning(n+1);
%w=hamming(n+1);
b=fir1(n,wn,w);
%确定传递函数的分母系数
[h,f]=freqz(b,1);
%生成频率响应参数
plot(f,20*log(abs(h)))%画幅频响应图
plot(f,angle(h));
%画相频响应图
Blackman窗低通滤波器
四、收获与体会
通过这次课程设计,能够提高我独立思考,解决学习问题的能力,并且重新温习了DIT运算,自学了DIFT运算,对以前学过的知识掌握得更加牢固,同时也增加了MATLAB编程的信心。
五、参考资料
[1]唐向宏,岳恒立,郑雪峰.MATLAB及在电子信息类课程中的应用(第2版)[M].北京:
电子工业出版社,2009.6
[2]高西全,丁玉美.数字信号处理(第三版)[M].西安:
西安电子科技大学出版社,2008