1、1实验一 信号、系统及系统响应一、 实验目的: 1、 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定的理解。2、 熟悉时域离散系统的时域特性。3、 利用卷积方法观察分析系统的时域特性。4、 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。二、实验内容及步骤:1、 认真复习采样理论、离散信号与系统、线性卷积、序列的傅里叶变换及性质等有内容,阅读本实验原理与方法。2、 了解要使用到的 MATLAB 命令:1)基于 DTFT 离散时间信号分析函数:freqz,real,imag,abs ,angle,unwrap 。函数 freqz 可
2、以用来计算一个以 的有理分式形式给出的序列的 DTFT 值。freqz 的形式多样,je常见的有 H=freqz(num,den,w),其中 num 表示序列有理分式 DTFT 的分子多项式系数,den 表示分母多项式系数(均按 z 的降幂排列) ,矢量 w 表示在 0 中给定的一系列频率点集合。2freqz 函数的其他形式参见帮助。在求出 DTFT 值后,可以使用函数 real, imag, abs 和 angle 分别求出并绘出其实部,虚部,幅度和相位谱。如果需要,还可以用 unwrap 函数消除相位中的跳变。2)函数 fft(x)可以计算 R 点序列的 R 点 DFT 值;而 fft(x
3、,N)则计算 R 点序列的 N 点 DFT,若RN,则直接截取 R 点 DFT 的前 N 点,若 R0 且 jk,则生成向量X=j,j+I,j+2I,k-I,k如果 Ik,则生成向量X=j,j+I,j+2I,k例: X1=1:5 X1=1 2 3 4 5X2=1:0.5:3 X2=1.000 1.500 2.000 2.500 3.000X3=5:-1:1 X3=5 4 3 2 12、矩阵的生成:Zeros 生成全 0 阵B= Zeros(n) 生成 n*n 的全 0 矩阵B= Zeros(m,n) 生成 m*n 的全 0 矩阵B= Zeros(Size(A) 生成与与矩阵 A 大小相同的全
4、0 矩阵注:m,n 必须是一个非负数ones 生成全 1 阵rand 生成均匀分布的随机阵3、矩阵的算术运算1)加法和减法对于同维矩阵指令为:A+B、A-B;对于矩阵和标量(一个数)的加减运算,指令为:A+3、A-92) 乘法和除法运算A*B 是数学中的矩阵乘法,遵循矩阵乘法规则;A*B 是同维矩阵对应位置元素做乘法;B=inv(A)是求矩阵的逆;A/B 是数学中的矩阵除法,遵循矩阵除法规则;A/B 是同维矩阵对应位置元素相除;表示矩阵的转置运算;104、数组函数下面列举一些基本函数,他们的用法和格式都相同。Sin(A),cos(A),exp(A),log(A)(相当于 ln)Sgrt(A)开
5、平方 abs(A)求模 real(A)求实部 imag(A)求虚部式中 A 可以是标量也可以是矩阵例: 利用等差向量产生一个正弦值向量t=0:0.1:10A=sin(t)PLot(A)这时候即可看到一个绘有正弦曲线的窗口弹出。另:每条语句后面加“;”表示不要显示当前语句的执行结果;不加“;”表示要显示当前语句的执行结果。5、绘图(二维绘图)利用前例如果要使向量的横纵坐标一一对应,则应写为 plot(t,A)。如不要横坐标对应时,可只写 plot(A)。如果 A 是一个矩阵不是向量,则在同一窗口中可绘出与矩阵行数相同的曲线且颜色不同。同时也可指定曲线的颜色和格式。如 plot(t,A,b.)则原
6、来的连续曲线就变成了蓝色的点线。下面给出常用选项。r 红 g 绿 b 蓝 y 黄 m 洋红 c 青 w 白 k 黑 实线 虚线*用星号标数据点 。用点标 o(字母o)用圆圈标 x(字母x)用叉标-.点划线下面给出窗口分割语句 subplot(x,y,n),表示 将一个窗口分割成 x 行,y 列 ,共 x*y 个窗口, 取第 n 个窗口为当前窗口。例 subplot(3,2,2) 分割 3*2 个窗口,取第二个窗口,如果下面有绘图语句,就表示要在第二个窗口中绘图。6、联机帮助1)Help 准确指令,如Help elfunHelp expHelp ftt112)look for 有关指令,如Loo
7、k for fourier本实验可能用到的一些序列和函数1)单位冲击序列 :nNfunction x,n=impseq(n0,n1,n2)n=n1:n2;x=(n-n0)=0;利用逻辑运算实现在 n=N 处为 1。如:impseq(5,0,10)2)单位阶跃序列 :un)function x,n=stepseq(n0,n1,n2)n=n1:n2x=(n-n0)=0; 利用逻辑运算实现在 n=N 处为 1。tepseq(5,0,10)3)矩形序列:function x,n=stepseq(n0,n1,n2)n=n1:n2x=(n-n0)=0 stepseq(0,0,9)实现了 10Rn也可以用f
8、unction x,n=squseq(M,N,n1,n2)n=n1:n2x=(n-M)=0y=sin(t);plot(t,y,)grid on 保留前面坐标系中已经存在的图形plot(t,y,s1,s2,s3) s1,s2,s3 表示线型、颜色等 p1332)stem 离散图形n,y=squseq(4,4,0,10);Stem(n,y,o)3)一个窗口中绘制多个图形Subplot(2,3,1)12Plot(x)Subplot(2,3,2)Plot(y)4、函数调用常用的函数:fft,abs angle,及滤波器设计中的函数见下面滤波器的设计中数字巴特沃兹滤波器的设计方法方法一%获得模拟滤波器的
9、性能指标,边界频率进行预畸变校正,按公式 进2tanTWp=0.2*piWs=0.3*pi;Rp=1;%单位 DBRs=15; %单位 DBFs=0.02*pi; %单位 Hz%模拟滤波器设计n,Wn=buttord(Wp,Ws,Rp,Rs);%获得阶数和通带截止频率z,p,k=buttap(n);%设计模拟低通滤波器原型b0,a0=zp2tf(z,p,k);%转化为传递函数表示的 滤波器b,a=lp2lp(b0,a0,Wn);%将滤波器原形转化为 要求设计的低通滤波器%使用双线形变换法得到设计的数字滤波器bz,az=bilinear(b,a,Fs);h,w=freqz(bz,az);%计算频
10、响绘频率响应曲线plot(h);方法二1, 数字滤波器的性能指标归一Wp=0.2Ws=0.3Rp=1;%单位 DBRs=15; %单位 DB2, 获得滤波器的阶数和通带截止频率n,Wn=buttord(Wp,Ws,Rp,Rs)设计巴特沃兹低通数字滤波器b,abutter(n,Wn)Freqz=(b,a)方法三见本实验附录程序A=0.09036,2*0.09036,0.09036;B1=1,-1.2686,0.7051;B2=1,-1.0106,0.3583;B3=1,-0.9044,0.2155;H1,w=frez(A,B1,100);H2,w=frez(A,B2,100);H3,w=frez(A,B3,100);H=H1.*H2.*H3;13mag=abs9h);db=20log(mag+eps)/max(mag);subplot(2,2,1)plot(w/pi,db)DFT 的源程序functionX=dft(x)N=length(x);n=0:N-1;k=0:N-1;WN=exp(-j*2*pi/N);%求得 WN 因子%Nk=n*k;WNnk=WN.nk;%求得 DFT 运算矩阵,注意向量乘为点乘%X=x*WNnk%利用矩阵运算计算 DFT%IDFT 源程序