数字信号处理实验一文档格式.docx
《数字信号处理实验一文档格式.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验一文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
用函数freqz可以计算序列在给定的离散频率点上的DTFT,该变换序列是以形如式
的有理函数来描述的。
这个函数的表达形式有H=freqz(num,den,w)、[H,w]=freqz(num,den,k)。
函数freqz返回的频率响应值为向量H。
在H=freqz(num,den,w)中,0到&
#960;
之间指定的频率集由向量w给出。
freqz函数的自变量k就是频率点的总数。
3、对于由两个子系统级联或并联的系统,如何用MATLAB计算他们的幅频响应与相频响应?
系统的级联或并联实现涉及到了因式分解。
在MATLAB中,我们可以用函数roots来实现多项式的因式分解。
例如,函数r=roots(h)会返回多项式向量h的根向量。
向量h是以
的升幂表示的多项式的系数。
通过计算所得的根向量,可以求出二次因式的系数。
更简单的方法是用从以给定的传输函数H(z)直接求出二阶因式的函数zp2sos。
函数sos=zp2sos(z,p,k)产生以零&
#8212;
极点形式确定的等效传输函数H(z)的每个二阶部分系数的矩阵sos。
二、实验容:
第一到四题源程序:
第一题图:
第二题图:
第三题图:
第四题图:
第五题:
%函数命名:
function[x1]=stepshift(n0,n1,n2)
n=[n1:
n2];
x1=[(n-n0)>
=0];
%源程序:
>
[x1]=stepshift(2,1,10);
n=1:
10;
stem(n,x1);
第六题:
b=[1,sqrt
(2),1];
a=[1,-0.67,0.9];
[h,w]=freqz(b,a);
am=20*log10(abs(h));
%求幅频特性
subplot(2,1,1);
plot(w,am);
xlabel('
w'
);
ylabel('
am'
ph=angle(h);
%求相频特性
subplot(2,1,2);
plot(w,ph);
ph'
第七题:
源程序:
a=[8-2-123];
b=[23-1-3];
c=conv(a,b);
%求a、b的线性卷积
m=length(c)-1;
n=0:
1:
m;
stem(n,c);
n'
幅度'
第八题:
n=50;
a=[1-2];
b=[10.1-0.06];
x=[1zeros(1,n-1)];
k=0:
n-1;
y=filter(a,b,x);
stem(k,y);
三、实验总结:
通过本次实验,熟悉并掌握MATLAB的主要命令操作,比如序列的简单运算、矩阵的输入和计算等,能熟练编写绘图程序,在计算卷积和绘制幅频响应和相频响应的过程中,充分地巩固了数字信号处理学的理论知识,总之,收获颇多。