数字信号处理实验(DSP)

数字信号处理实验(DSP)
数字信号处理实验(DSP)

数字信号处理实验报告

学生专业:电子信息工程0XX

实验一熟悉MATLAB环境

一、实验目的

1.熟悉MATLAB的主要操作命令。

2.学会简单的矩阵输入和数据读写。

3.掌握简单的绘图命令。

4.用MATLAB编程并学会创建函数。

5.观察离散系统的频率响应。

二、实验内容

认真阅读本章附录,在MATLAB环境下重新做一遍附录中的例子,体会各条命令的含义。在熟悉了MATLAB基本命令的基础上,完成以下实验。

上机实验内容:

(1)数组的加、减、乘、除和乘方运算。输入A=[1 2 3 4],B=[3 4 5 6],求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B并用stem语句画出A、B、C、D、E、F、G。

clc

clear

A=[1 2 3 4];

B=[3 4 5 6];

E=A.*B;

C=A+B;

D=A-B;

F=A./B;

G=A.^B;

subplot(3,3,1);stem(A)

subplot(3,3,2);stem(B)

subplot(3,3,3);stem(C)

subplot(3,3,4);stem(D)

subplot(3,3,5);stem(E)

subplot(3,3,6);stem(F)

subplot(3,3,7);stem(G)

(2)用MATLAB实现下列序列:

a) x(n)=0.8n 0≤n≤15

b) x(n)=e(0.2+3j)n 0≤n≤15

c) x(n)=3cos(0.125πn+0.2π)+2sin(0.25πn+0.1π) 0≤n≤15

clc

clear

n=0:1:15;

y1=0.8.^n;

y2=exp((0.2+3*j)*n);

y3=3*cos(0.125*pi*n+0.2*pi)+2*sin(0.25*pi*n+0.1*pi);

subplot(3,1,1);stem(n,y1)

xlabel('n'),ylabel('y1')

subplot(3,1,2);stem(n,y2)

xlabel('n'),ylabel('y2')

subplot(3,1,3);stem(n,y3)

xlabel('n'),ylabel('y3')

(3)x(n)=[1,-1,3,5],产生并绘出下列序列的样本: a) x 1(n)=2x(n+2)-x(n-1)-2x(n)

b) ∑=-=5

1k 2)k n (nx (n) x

clear all n=1:4; T=4;

x=[1 -1 3 5]; x(5:8)=x(1:4);

subplot(2,1,1);stem(1:8,x);grid;

for i=1:4 if i-1<0

x1(i)=2*x(i+2)-x(i-1)-2*x(i); else

x1(i)=2*x(i+2)-x(i-1+T)-2*x(i); end end

x1(5:8)=x1(1:4);

subplot(2,1,2);stem(1:8,x1);grid;

(4)绘出下列时间函数的图形,对x 轴、y 轴以及图形上方均须加上适当的标注: a) x(t)=sin(2πt) 0≤t ≤10s

b) x(t)=cos(100πt)sin(πt) 0≤t ≤4s

t1=0:0.05:10;

t2=0:0.01:4; y1=sin(2*pi*t1);

y2=(cos(100*pi*t2)).*(sin(pi*t2)); subplot(2,1,1);plot(t1,y1,'r') title('正炫');

xlabel('x 轴');ylabel('y 轴'); subplot(2,1,2);plot(t2,y2,'b') xlabel('x 轴');ylabel('y 轴'); title('正弦和余弦曲线');

(5)编写函数stepshift(n0,n1,n2)实现u(n-n0),n1

为n2。

n0=5;ns=1;nf=10;%ns 为起点;nf 为终点;在=n=n0处生成单位阶跃序列 n=[ns:nf];

x=[(n-n0)>=0]; stem(n,x);

(6)给一定因果系统)0.9z 0.67z -1)/(1z 2(1H(z)-2-1

-1+++=求出并绘制H(z)的幅频响应与相

频响应。

clear

clc

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('n');ylabel('幅度')

ph=angle(h);

subplot(2,1,2);

plot(w,ph);

xlabel('n');ylabel('相位')

(7)计算序列{8 -2 -1 2 3}和序列{2 3 -1 -3}的离散卷积,并作图表示卷积结果。

clear all;

a=[8 -2 -1 2 3];

b=[2 3 -1 -3];

c=conv(a,b);

M=length(c)-1;

n=0:1:M;

stem(n,c);

xlabel('n');xlabel('幅度');

(8)求以下差分方程所描述系

统的单位脉冲响应h(n),0≤n≤

50

y(n)+0.1y(n-1)-0.06y(n-2)=x(n)-2x(n-1)

clear all;

clc

N=51;

a=[1 -2];

b=[1 0.1 -0.06];

x=[1 zeros(1,N-1)];

k=0:1:N-1;

y=filter(a,b,x);

stem(k,y);

xlabel('n'),ylabel('幅度');

实验二快速傅里叶变换(FFT)及其应用

一、实验目的

1 在理论学习的基础上,通过本实验,加深对FFT的理解,熟悉FFT子程序。

2熟悉应用FFT对典型信号进行频谱分析的方法。

3.了解应用FFT进行信号频谱分析过程中可能出现的问题以便在实际中正确应用FFT。

4 熟悉应用FFT实现两个序列的线性卷积的方法。

5初步了解用周期图法作随机信号谱分析的方法。

二、实验原理与方法

在各种信号序列中,有限长序列信号处理占有很重要地位,对有限长序列,我们可以使用离散Fouier变换(DFT)。这一变换不但可以很好的反映序列的频谱特性,而且易于用快速算法在计算机上实现,当序列x(n)的长度为N时,它的DFT定义为:

反变换为:

有限长序列的DFT是其Z变换在单位圆上的等距采样,或者说是序列Fourier变换的等距采样,因此可以用于序列的谱分析。

FFT并不是与DFT不同的另一种变换,而是为了减少DFT运算次数的一种快速算法。

它是对变换式进行一次次分解,使其成为若干小点数的组合,从而减少运算量。常用的FFT

是以2为基数的,其长度。它的效率高,程序简单,使用非常方便,当要变换的序

列长度不等于2的整数次方时,为了使用以2为基数的FFT,可以用末位补零的方法,使其长度延长至2的整数次方。

(一)、在运用DFT进行频谱分析的过程中可能产生三种误差:

(1) 混叠

序列的频谱时被采样信号的周期延拓,当采样速率不满足Nyquist定理时,就会发生频谱混叠,使得采样后的信号序列频谱不能真实的反映原信号的频谱。

避免混叠现象的唯一方法是保证采样速率足够高,使频谱混叠现象不致出现,即在确定采样频率之前,必须对频谱的性质有所了解,在一般情况下,为了保证高于折叠频率的分量不会出现,在采样前,先用低通模拟滤波器对信号进行滤波。

(2) 泄漏

实际中我们往往用截短的序列来近似很长的甚至是无限长的序列,这样可以使用较短的DFT来对信号进行频谱分析,这种截短等价于给原信号序列乘以一个矩形窗函数,也相当于在频域将信号的频谱和矩形窗函数的频谱卷积,所得的频谱是原序列频谱的扩展。

泄漏不能与混叠完全分开,因为泄漏导致频谱的扩展,从而造成混叠。为了减少泄漏的影响,可以选择适当的窗函数使频谱的扩散减至最小。

(3) 栅栏效应

DFT是对单位圆上Z变换的均匀采样,所以它不可能将频谱视为一个连续函数,就一定意义上看,用DFT来观察频谱就好像通过一个栅栏来观看一个图景一样,只能在离散点上看到真实的频谱,这样就有可能发生一些频谱的峰点或谷点被“尖桩的栅栏”所拦住,不能别我们观察到。

减小栅栏效应的一个方法就是借助于在原序列的末端填补一些零值,从而变动DFT的点

数,这一方法实际上是人为地改变了对真实频谱采样的点数和位置,相当于搬动了每一根“尖桩栅栏”的位置,从而使得频谱的峰点或谷点暴露出来。

(二)、用FFT计算线性卷积

用FFT可以实现两个序列的圆周卷积。在一定的条件下,可以使圆周卷积等于线性卷积。一般情况,设两个序列的长度分别为N1和N2,要使圆周卷积等于线性卷积的充要条件是FFT 的长度

N≥N1+N2

对于长度不足N的两个序列,分别将他们补零延长到N。

当两个序列中有一个序列比较长的时候,我们可以采用分段卷积的方法。有两种方法:

重叠相加法。将长序列分成与短序列相仿的片段,分别用FFT对它们作线性卷积,再将分段卷积各段重叠的部分相加构成总的卷积输出。

重叠保留法。这种方法在长序列分段时,段与段之间保留有互相重叠的部分,在构成总的卷积输出时只需将各段线性卷积部分直接连接起来,省掉了输出段的直接相加。

(三)、用周期图法(平滑周期图的平均法)对随机信号作谱分析

实际中许多信号往往既不具有有限能量,由非周期性的。无限能量信号的基本概念是随机过程,也就是说无限能量信号是一随机信号。周期图法是随机信号作谱分析的一种方法,它特别适用于用FFT直接计算功率谱的估值。

将长度为N的实平稳随机序列的样本x(n)再次分割成K段,每段长度为L,即L=N/K。每段序列仍可表示为:

xi(n)=x(n+(i-1)L),0≤n≤L-1,1≤i≤K

但是这里在计算周期图之前,先用窗函数w(n)给每段序列xi(n)加权,K个修正的周期图定义为

其中U表示窗口序列的能量,它等于

在此情况下,功率谱估计量可表示为

三、实验内容及步骤

实验中用到的信号序列:

a) Gaussian序列

b) 衰减正弦序列

上机实验内容:

(1)、观察高斯序列的时域和幅频特性,固定信号xa(n)中参数p=8,改变q的值,使q分别等于2,4,8,观察它们的时域和幅频特性,了解当q取不同值时,对信号序列的时域幅频特性的影响;固定q=8,改变p,使p 分别等于8,13,14,观察参数p变化对信号序列的时域及幅频特性的影响,观察p等于多少时,会发生明显的泄漏现象,混叠是否也随之出现?记录实验中观察到的现象,绘出相应的时域序列和幅频特性曲线。

% %定义高斯序列

n=0:15;

p=8;

q=2;q1=4;q2=8;

xn1=exp(-(n-p).^2)/q;

subplot(3,2,1);

plot(n,xn1);

xlabel('t/T');ylabel('x(n)');

xk1=fft(xn1);xk1=abs(xk1); subplot(3,2,2);

stem(n,xk1);

xlabel('k');ylabel('X(K)');

xn2=exp(-(n-p).^2)/q1;

subplot(3,2,3);

plot(n,xn2);

xlabel('t/T');ylabel('x(n)');

xk2=fft(xn2);xk2=abs(xk2); subplot(3,2,4);

stem(n,xk2);

xlabel('k');ylabel('X(K)');

xn3=exp(-(n-p).^2)/q2;

subplot(3,2,5);

plot(n,xn3);

xlabel('t/T');ylabel('x(n)');

xk3=fft(xn3);xk3=abs(xk3); subplot(3,2,6);

stem(n,xk3);

xlabel('k');ylabel('X(K)');

figure(2)

n=0:15;

p1=8;p2=13;p3=14

q=8;

xn1=exp(-(n-p1).^2)/q;

subplot(3,2,1);

plot(n,xn1);

xlabel('t/T');ylabel('x(n)');

xk1=fft(xn1);xk1=abs(xk1); subplot(3,2,2);

stem(n,xk1);

xlabel('k');ylabel('X(K)');

xn2=exp(-(n-p2).^2)/q;

subplot(3,2,3);

plot(n,xn2);

xlabel('t/T');ylabel('x(n)');

xk2=fft(xn2);xk2=abs(xk2); subplot(3,2,4);

stem(n,xk2);

xlabel('k');ylabel('X(K)');

xn3=exp(-(n-p3).^2)/q;

subplot(3,2,5);

plot(n,xn3);

xlabel('t/T');ylabel('x(n)');

xk3=fft(xn3);xk3=abs(xk3); subplot(3,2,6);

stem(n,xk3);

xlabel('k');ylabel('X(K)'); (2)、观察衰减正弦序列xb(n)的时域和

幅频特性,a=0.1,f=0.0625,检查谱峰出现位置是否正确,注意频谱的形状,绘出幅频特性曲线,改变f,使f 分别等于0.4375和0.5625,观察这两种情况下,频谱的形状和谱峰出现位置,有无混叠和泄漏现象?说明产生现象的原因。

% 定义衰减正弦序列

n=0:15;

a=0.1;

f1=0.0625;f2=0.4375;f3=0.5625;

xn1=sin(2*pi*f1*n).*exp(-a*n); subplot(3,2,1);

plot(n,xn1);

xlabel('t/T');ylabel('x(n)');

xk1=fft(xn1);xk1=abs(xk1);

subplot(3,2,2);

stem(n,xk1);

xlabel('k');ylabel('X(K)');

xn2=sin(2*pi*f2*n).*exp(-a*n);

subplot(3,2,3);

plot(n,xn2);

xlabel('t/T');ylabel('x(n)');

xk2=fft(xn2);xk2=abs(xk2);

subplot(3,2,4);

stem(n,xk2);

xlabel('k');ylabel('X(K)');

xn3=sin(2*pi*f3*n).*exp(-a*n);

subplot(3,2,5);

plot(n,xn3);

xlabel('t/T');ylabel('x(n)');

xk3=fft(xn3);xk3=abs(xk3);

subplot(3,2,6);

stem(n,xk3);

xlabel('k');ylabel('X(K)');

(3)、观察三角波和反三角波序列的时域和幅频特性,用N=8点FFT分析信号序列xc(n)和xd(n)的幅频特性,观察两者的序列形状和频谱曲线有什么异同?绘出两序列及其幅频特性曲线。在xc(n)和xd(n)末尾补零,用N=16点FFT分析这两个信号的幅频特性,观察幅频特性发生了什么变化?两情况的FFT频谱还有相同之处吗?这些变化说明了什么?

clear all;

n=[0:3];k=[1:8];

%定义三角波序列

Xc(n+1) = n;Xc(n+5) =4-n;

%定义反三角波序列

Xd(n+1) = 4-n;Xd(n+5) =n;

%%%%%%%%%%% 三角波特性%%%%%%%%%%%%%

subplot(2,2,1);plot(k-1,Xc);

xlabel('n');ylabel('时域特性');text(1,3,'三角波');

subplot(2,2,2);plot(k-1,abs(fft(Xc)));

xlabel('k');ylabel('幅频特性');text(4,10,'三角波');

%%%%%%%%%%% 反三角波特性%%%%%%%%%%

subplot(2,2,3);plot(k-1,Xd);

xlabel('n');ylabel('时域特性');text(3,3,'反三角波');

subplot(2,2,4);plot(k-1,abs(fft(Xd)));

xlabel('k');ylabel('幅频特性');text(4,10,'反三角波');

%末尾补0,计算32点FFT

Xc(9:32)=0;Xd(9:32)=0;k=1:32;figure;

%%%%%%%%%%% 三角波特性%%%%%%%%%%%%%

subplot(2,2,1);plot(k-1,Xc);

xlabel('n');ylabel('时域特性');text(1,3,'三角波');

subplot(2,2,2);plot(k-1,abs(fft(Xc)));

xlabel('k');ylabel('幅频特性');text(4,10,'三角波');

%%%%%%%%%%% fan三角波特性%%%%%%%%%% subplot(2,2,3);plot(k-1,Xd);

xlabel('n');ylabel('时域特性');text(3,3,'反三角波');

subplot(2,2,4);plot(k-1,abs(fft(Xd)));

xlabel('k');ylabel('幅频特性');text(4,10,'反三角波');

(4)、一个连续信号含两个频率分量,经采样得

x(n)=sin2π*0.125n+cos2π*(0.125+Δ

f)n n=0,1……,N-1

已知N=16,Δf分别为1/16和1/64,

观察其频谱;当N=128时,Δf不

变,其结果有何不同,为什么?

clear all;

n1=0:15;

n2=0:128;

f1=1/16;

f2=1/64;

xn1=sin(2*pi*0.125*n1)+cos(2*pi*(0.125+f1)*n1); xn2=sin(2*pi*0.125*n1)+cos(2*pi*(0.125+f2)*n1); subplot(2,2,1);

plot(n1,xn1);

xlabel('t/T');ylabel('x(n)');

xk1=fft(xn1);xk1=abs(xk1);

subplot(2,2,2);

stem(n1,xk1);

xlabel('k');ylabel('X(K)');

subplot(2,2,3);

plot(n1,xn2);

xlabel('t/T');ylabel('x(n)');

xk2=fft(xn2);xk2=abs(xk2);

subplot(2,2,4);

stem(n1,xk2);

xlabel('k');ylabel('X(K)');

figure(2)

n2=0:5:128;

f1=1/16;

f2=1/64;

xn1=sin(2*pi*0.125*n2)+cos(2*pi*(0.125+f1)*n2); xn2=sin(2*pi*0.125*n2)+cos(2*pi*(0.125+f2)*n2); subplot(2,2,1);

plot(n2,xn1);

xlabel('t/T');ylabel('x(n)');

xk1=fft(xn1);xk1=abs(xk1);

subplot(2,2,2);

stem(n2,xk1);

xlabel('k');ylabel('X(K)');

subplot(2,2,3);

plot(n2,xn2);

xlabel('t/T');ylabel('x(n)');

xk2=fft(xn2);xk2=abs(xk2);

subplot(2,2,4);

stem(n2,xk2);

xlabel('k');ylabel('X(K)');

(5)、用FFT分别实现xa(n)(p=8,q=2)和xb(n)(a=0.1,f=0.0625)的16点圆周卷积和线性卷积。

clear all;

N=16;

n=0:N-1;

p=8;q=2;

Xa(n+1)=exp(-(n-p).^2./q);

a=0.1;f=0.0625;

Xb(n+1)=exp(-a.*n).*sin(2*pi*f.*n);

%16点循环卷积

Fa=fft(Xa); Fb=fft(Xb);

Fx=Fa.*Fb;

X51=ifft(Fx);

stem(n,X51);

%16点线性卷积

Xa(N+1:2*N-1)=0;

Xb(N+1:2*N-1)=0;

Fa=fft(Xa); Fb=fft(Xb);

Fc=Fa.*Fb;

X52=ifft(Fc);

figure;stem(1:2*N-1,X52);

(7)用FFT分别计算x a(n)(p=8,q=2)和x b(n)(a=0.1,f=0.0625)的16点循环相关和线性相关,问一共有多少种结果,他们之间有何异同点。

clear all;

N=16;

n=0:N-1;

p=8;q=2;

Xa(n+1)=exp(-(n-p).^2./q);

a=0.1;f=0.0625;

Xb(n+1)=exp(-a.*n).*sin(2*pi*f.*n);

N=length(Xa);

%16点循环相关

Fa=fft(Xa,2*N); Fb=fft(Xb,2*N);

Fx=conj(Fa).*Fb;

X71=real(ifft(Fx));

X71=[X71(N+2:2*N) X71(1:N)];

n=(-N+1):(N-1); stem(n,X71);

%16点线性相关

Xa(N+1:2*N-1)=0;

Xb(N+1:2*N-1)=0;

Fa=fft(Xa); Fb=fft(Xb);

Fc=conj(Fa).*Fb;

X72=real(ifft(Fc));

figure;stem(1:2*N-1,X72);

(8)用FFT分别计算x a(n)(p=8,q=2)和x b(n)(a=0.1,f=0.0625)的自相关函数。clear all;

N=16;

n=0:N-1;

p=8;q=2;

Xa(n+1)=exp(-(n-p).^2./q);

a=0.1;f=0.0625;

Xb(n+1)=exp(-a.*n).*sin(2*pi*f.*n); %自然对数的底:e=:2.71828 18284 59045 23536

N=length(Xa);

% Xa(n) 16点自相关

Fa=fft(Xa,2*N); Fb=fft(Xb,2*N);

F1=conj(Fa).*Fa;

X81=real(ifft(F1));

X81=[X81(N+2:2*N) X81(1:N)];

n=(-N+1):(N-1);

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

xlabel('n'); ylabel('幅度');

% Xb(n) 16点自相关

Fb=fft(Xb,2*N);

F2=conj(Fb).*Fb;

X82=real(ifft(F2));

X82=[X82(N+2:2*N) X82(1:N)];

% n=(-N+1):(N-1);

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

xlabel('n'); ylabel('幅度');

实验三IIR数字滤波器的设计

一、实验目的

(1)掌握双线性变换法及脉冲响应不变法设计IIR数字滤波器的具体设计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通IIR数字滤波器的计算机编程。

(2)观察双线性变换及脉冲响应不变法设计的滤波器的品与特性,了解双线性变换法及脉冲响应不变法的特点。

熟悉巴特沃思滤波器、切比雪夫滤波器和椭圆滤波器的频率特性。

二、实验原理与方法

线性相位实系数FIR滤波器按其N值奇偶和h(n)的奇偶对称性分为四种:

1、h(n)为偶对称,N为奇数

H(ejω)的幅值关于ω=0,π,2π成偶对称。

2、h(n)为偶对称,N为偶数

H(ejω)的幅值关于ω=π成奇对称,不适合作高通。

3、h(n)为奇对称,N为奇数

H(ejω)的幅值关于ω=0,π,2π成奇对称,不适合作高通和低通。

4、h(n)为奇对称,N为偶数

H(ejω) ω=0、2π=0,不适合作低通。

(一) 窗口法

窗函数法设计线性相位FIR滤波器步骤

确定数字滤波器的性能要求:临界频率{ωk},滤波器单位脉冲响应长度N;

根据性能要求,合理选择单位脉冲响应h(n)的奇偶对称性,从而确定理想频率响应Hd(ejω)的幅频特性和相频特性;

求理想单位脉冲响应hd(n),在实际计算中,可对Hd(ejω)按M(M远大于N)点等距离采样,并对其求IDFT得hM(n),用hM(n)代替hd(n);

选择适当的窗函数w(n),根据h(n)= hd(n)w(n)求所需设计的FIR滤波器单位脉冲响应;

求H(ejω),分析其幅频特性,若不满足要求,可适当改变窗函数形式或长度N,重复上述设计过程,以得到满意的结果。

窗函数的傅式变换W(ejω)的主瓣决定了H(ejω)过渡带宽。W(ejω)的旁瓣大小和多少决定了H(ejω)在通带和阻带范围内波动幅度,常用的几种窗函数有:

矩形窗w(n)=RN(n);

Hanning窗;

Hamming窗;

Blackmen窗;

Kaiser窗。

式中Io(x)为零阶贝塞尔函数。

(二)频率采样法

频率采样法是从频域出发,将给定的理想频率响应Hd(ejω)加以等间隔采样

然后以此Hd(k)作为实际FIR数字滤波器的频率特性的采样值H(k),即令

由H(k)通过IDFT可得有限长序列h(n)

将上式代入到Z变换中去可得

其中Φ(ω)是内插函数

(三)FIR滤波器的优化设计

FIR滤波器的优化设计是按照最大误差最小化准则,使所设计的频响与理想频响之间的最大误差,在通带和阻带范围均为最小,而且是等波动逼近的。

为了简化起见,在优化设计中一般将线性相位FIR滤波器的单位脉冲响应h(n)

的对称中心置于n=0处,此时,线性相位因子α=0。当N 为奇数,且N=2M+1,则

如希望逼近一个低通滤波器,这里M ,ωp 和ωs 固定为某个值。在这种情况下有

定义一逼近误差函数:

E(ω)为在希望的滤波器通带和阻带内算出的误差值,W(ω)为加权函数。

k 应当等于比值δ1/δ2,δ1为通带波动,δ2为阻带波动。在这种情况下,设计过

程要求|E(ω)|在区间

的最大值为最小,它等效于求最小

δ2。根据数学上多项式逼近连续函数的理论,用三角多项式逼近连续函数,在一定条件下存在最佳逼近的三角多项式,而且可以证明这个多项式是唯一的。这一最佳逼近定理通常称作交替定理。

在逼近过程中,可以固定k ,M ,ωp ,ωs 而允许改变δ2,按照交替定理,首先估计出(M+2)个误差函数的极值频率点{ωi},i=0,1,...,M+1,共计可以写出(M+2)个方程

式中ρ表示峰值误差。一般仅需求解出ρ,接着便可用三角多项式找到一组新的极值频率点,并求出新的峰值误差ρ。依此反复进行,直到前、后两次ρ值不变化为止,最小的ρ即为所求的δ2。

这一算法通常称作雷米兹(Remez)交替算法。 (3)

三、 实验内容 上机实验内容:

(1)kHz f c 3.0=,dB 8.0=δ,kHz f r 2.0=,dB At 20=,ms T 1=;设计一切比雪夫高通滤波器,观察其通带损耗和阻带衰减是否满足要求。

分析:f=200Hz 时阻带衰减大于30dB ,通过修改axis([0,fs/2,-80,10])为axis([200,fs/2,-1,1]) 发现通带波动rs 满足<0.8。

bz =[0.0262 -0.1047 0.1570 -0.1047 0.0262] az =[1.0000 1.5289 1.6537 0.9452 0.2796] 系统函数为:

43214

3212796.09452.06537.15289.110262.01047.01570.01047.0-0262.0)(H --------+++++-+=

z z z z z z z z z

(2)kHz f c 2.0=,dB 1=δ,kHz f r 3.0=,dB At 25=,ms T 1=;分别用脉冲响应不变法及双线性变换法设计一巴特沃思数字低通滤波器,观察所设计数字滤波器的幅频特性曲

线,记录带宽和衰减量,检查是否满足要求。比较这两种方法的优缺点。

bz1 =[0.0000 0.0002 0.0153 0.0995 0.1444 0.0611 0.0075 0.0002 0.0000 0] az1 =[1.0000 -1.9199 2.5324 -2.2053 1.3868 -0.6309 0.2045 -0.0450 0.0060 -0.0004] 因此脉冲响应不变法的系统函数为:

1234567

123456789

0.00020.01530.09950.14440.06110.00750.0002()1 1.9199 2.5324 2.2053 1.38680.63090.20450.04500.00600.0004imp z z z z z z z H z z z z z z z z z z ----------------+++---=

-+-+-+-+-

bz2 =[0.0179 0.1072 0.2681 0.3575 0.2681 0.1072 0.0179] az2 =[1.0000 -0.6019 0.9130 -0.2989 0.1501 -0.0208 0.0025] 因此双线性变换法的系统函数为:

123456

123456

0.01790.10720.26810.35750.26810.10720.0179()10.60190.91300.29890.15010.02080.0025bil z z z z z z H z z z z z z z

------------++++++=-+-+-+ 分析:

脉冲响应不变法的N=9,双线性变换法的N=6,由图知它们都满足要求,但脉冲响应的衰减较快,双线性变换的过渡带窄一些,且阶数比脉冲小,容易实现。

四、实验内容及步骤

(1)N=15,

。用Hanning 窗设计一线性相位带通滤波器,

观察它的实际3dB 和20dB 带宽。N=45,重复这一设计,观察幅频和相位特性的变化,注意长度N 变化的影响;

(2)分别改用矩形窗和Blackman窗,设计(1)中的带通滤波器,观察并记录窗函数对滤波器幅频特性的影响,比较三种窗的特点;

数字信号处理实验报告

实验一MATLAB语言的基本使用方法 实验类别:基础性实验 实验目的: (1)了解MATLAB程序设计语言的基本方法,熟悉MATLAB软件运行环境。 (2)掌握创建、保存、打开m文件的方法,掌握设置文件路径的方法。 (3)掌握变量、函数等有关概念,具备初步的将一般数学问题转化为对应计算机模型并进行处理的能力。 (4)掌握二维平面图形的绘制方法,能够使用这些方法进行常用的数据可视化处理。 实验内容和步骤: 1、打开MATLAB,熟悉MATLAB环境。 2、在命令窗口中分别产生3*3全零矩阵,单位矩阵,全1矩阵。 3、学习m文件的建立、保存、打开、运行方法。 4、设有一模拟信号f(t)=1.5sin60πt,取?t=0.001,n=0,1,2,…,N-1进行抽样,得到 序列f(n),编写一个m文件sy1_1.m,分别用stem,plot,subplot等命令绘制32 点序列f(n)(N=32)的图形,给图形加入标注,图注,图例。 5、学习如何利用MATLAB帮助信息。 实验结果及分析: 1)全零矩阵 >> A=zeros(3,3) A = 0 0 0 0 0 0 0 0 0 2)单位矩阵 >> B=eye(3) B = 1 0 0 0 1 0 0 0 1 3)全1矩阵 >> C=ones(3) C = 1 1 1 1 1 1 1 1 1 4)sy1_1.m N=32; n=0:N-1; dt=0.001; t=n*dt; y=1.5*sin(60*pi*t); subplot(2,1,1), plot(t,y); xlabel('t'); ylabel('y=1.5*sin(60*pi*t)'); legend('正弦函数'); title('二维图形'); subplot(2,1,2), stem(t,y) xlabel('t'); ylabel('y=1.5*sin(60*pi*t)'); legend('序列函数'); title('条状图形'); 00.0050.010.0150.020.0250.030.035 t y = 1 . 5 * s i n ( 6 * p i * t ) 二维图形 00.0050.010.0150.020.0250.030.035 t y = 1 . 5 * s i n ( 6 * p i * t ) 条状图形

数字信号处理实验(吴镇扬)答案-2

(1) 观察高斯序列的时域和幅频特性,固定信号)(n x a 中参数p=8,改变q 的 值,使q 分别等于2、4、8,观察他们的时域和幅频特性,了解当q 取不同值时,对信号序列的时域和幅频特性的影响;固定q=8,改变p,使p 分别等于8、13、14,观察参数p 变化对信号序列的时域和幅频特性的影响,注意p 等于多少时会发生明显的泄漏现象,混叠是否也随之出现?记录实验中观察到的现象,绘出相应的时域序列和幅频特性曲线。 ()() ?????≤≤=-其他0150,2n e n x q p n a 解:程序见附录程序一: P=8,q 变化时: t/T x a (n ) k X a (k ) t/T x a (n ) p=8 q=4 k X a (k ) p=8 q=4 t/T x a (n ) p=8 q=8 k X a (k ) p=8 q=8 幅频特性 时域特性

t/T x a (n ) p=8 q=8 k X a (k ) p=8 q=8 t/T x a (n ) 5 10 15 k X a (k ) p=13 q=8 t/T x a (n ) p=14 q=8 5 10 15 k X a (k ) p=14 q=8 时域特性幅频特性 分析: 由高斯序列表达式知n=p 为期对称轴; 当p 取固定值时,时域图都关于n=8对称截取长度为周期的整数倍,没有发生明显的泄漏现象;但存在混叠,当q 由2增加至8过程中,时域图形变化越来越平缓,中间包络越来越大,可能函数周期开始增加,频率降低,渐渐小于fs/2,混叠减弱; 当q 值固定不变,p 变化时,时域对称中轴右移,截取的时域长度渐渐地不再是周期的整数倍,开始无法代表一个周期,泄漏现象也来越明显,因而图形越来越偏离真实值, p=14时的泄漏现象最为明显,混叠可能也随之出现;

数字信号处理实验报告

数字信号处理作业提交日期:2016年7月15日

实验一 维纳滤波器的设计 第一部分 设计一维纳滤波器。 (1)产生三组观测数据,首先根据()(1)()s n as n w n =-+产生信号()s n ,将其加噪(信噪比分别为20,10,6dB dB dB ),得到观测数据123(),(),()x n x n x n 。 (2)估计()i x n ,1,2,3i =的AR 模型参数。假设信号长度为L ,AR 模型阶数为N ,分析实验结果,并讨论改变L ,N 对实验结果的影响。 1 实验原理 滤波技术是信号分析、处理技术的重要分支,无论是信号的获取、传输,还是信号的处理和交换都离不开滤波技术,它对信号安全可靠和有效灵活地传递是至关重要的。信号分析检测与处理的一个十分重要的内容就是从噪声中提取信号,实现这种功能的有效手段之一是设计一种具有最佳线性过滤特性的滤波器,当伴有噪声的信号通过这种滤波器的时候,它可以将信号尽可能精确地重现或对信号做出尽可能精确的估计,而对所伴随噪声进行最大限度地抑制。维纳滤波器就是这种滤波器的典型代表之一。 维纳(Wiener )是用来解决从噪声中提取信号的一种过滤(或滤波)方法。这种线性滤波问题,可以看做是一种估计问题或一种线性估计问题。 设一线性系统的单位样本响应为()h n ,当输入以随机信号()x n ,且 ()() () x n s n v n =+,其中()s n 表示原始信号,即期望信号。()v n 表示噪声,则输出()y n 为()=()()m y n h m x n m -∑,我们希望信号()x n 经过线性系统()h n 后得到的()y n 尽可能接近 于()s n ,因此称()y n 为估计值,用?()s n 表示。 则维纳滤波器的输入-输出关系可用下面表示。 设误差信号为()e n ,则?()()()e n s n s n =-,显然)(n e 可能是正值,也可能是负值,并且它是一个随机变量。因此,用它的均方误差来表达误差是合理的,所谓均方误差最小即 它的平方的统计期望最小:222?[|()|][|()()|][|()()|]E e n E s n s n E s n y n =-=-=min 。而要使均方误差最小,则需要满足2[|()|]j E e n h ?=0. 进一步导出维纳-霍夫方程为:()()()()*(),0,1,2...xs xx xx i R m h i R m i R m h m m =-==∑ 写成矩阵形式为:xs xx R R h =,可知:1xs xx h R R -=。表明已知期望信号与观测数据的互相关函数以及观测信号的自相关函数时,可以通过矩阵求逆运算,得到维纳滤波器的

数字信号处理实验

实验一: 系统及响应时域采样及频域采样 1. 实验目的 (1)掌握用卷积求系统响应及卷积定理的验证; (2)掌握连续信号经理想采样前后的频谱变化关系, 加深对时域采样定理的理解。 (3)掌握频域采样引起时域周期化概念, 加深对频域采样定理的理解。 (4) 掌握序列傅里叶变换的计算机实现方法, 利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。 3. 实验内容及步骤 (1) 认真复习卷积定理、 时域采样和频域采样理论。 (2) 编制实验用主程序及相应子程序。 ①系统单位脉冲响应序列产生子程序。 有限长序列线性卷积子程序, 用于完成两个给定长度的序列的卷积。 可以直接调用MATLAB 语言中的卷积函数conv 。 conv 用于两个有限长度序列的卷积,它假定两个序列 都从n=0开始。调用格式如下: y=conv (x, h) ② 卷积定理的验证。 (3)时域采样定理的验证:信号产生子程序, 用于产生实验中要用到的下列信号序列: x a (t)=Ae -at sin(Ω0t)u(t) 进行采样, 可得到采样序列 x a (n)=x a (nT)=Ae -anT sin(Ω0nT)u(n), 0≤n<50 其中A 为幅度因子, a 为衰减因子, Ω0是模拟角频率, T 为采样间隔。 这些参数都要在实验过程中由键盘输入, 产生不同的x a (t)和x a (n)。 >> %1时域采样序列分析 A=400;a=200;w=200; n=0:50-1;fs=1000; xa=A*exp((-a)*n/fs).*sin(w*n/fs); k=-200:200;w=(pi/100)*k; Xk=fft(xa,length(k));magX=abs(Xk);angX=angle(Xk); subplot(2,1,1); stem(n,xa,'.');xlabel('n');ylabel('xa(n)'); title('信号的类型'); )()(10n R n h a =) 3()2(5.2)1(5.2)()(-+-+-+=n n n n n h b δδδδ1 ,,2,1,0,)()()(-==M k e H e X e Y k k k j j a j ωωω

数字信号处理实验作业

实验6 数字滤波器的网络结构 一、实验目的: 1、加深对数字滤波器分类与结构的了解。 2、明确数字滤波器的基本结构及其相互间的转换方法。 3、掌握用MA TLAB 语言进行数字滤波器结构间相互转换的子函数及程序编写方法。 二、实验原理: 1、数字滤波器的分类 离散LSI 系统对信号的响应过程实际上就是对信号进行滤波的过程。因此,离散LSI 系统又称为数字滤波器。 数字滤波器从滤波功能上可以分为低通、高通、带通、带阻以及全通滤波器;根据单位脉冲响应的特性,又可以分为有限长单位脉冲响应滤波器(FIR )和无限长单位脉冲响应滤波器(IIR )。 一个离散LSI 系统可以用系统函数来表示: M -m -1-2-m m m=0 012m N -1-2-k -k 12k k k=1 b z b +b z +b z ++b z Y(z)b(z)H(z)=== =X(z)a(z) 1+a z +a z ++a z 1+a z ∑∑ 也可以用差分方程来表示: N M k m k=1 m=0 y(n)+a y(n-k)=b x(n-m)∑∑ 以上两个公式中,当a k 至少有一个不为0时,则在有限Z 平面上存在极点,表达的是以一个IIR 数字滤波器;当a k 全都为0时,系统不存在极点,表达的是一个FIR 数字滤波器。FIR 数字滤波器可以看成是IIR 数字滤波器的a k 全都为0时的一个特例。 IIR 数字滤波器的基本结构分为直接Ⅰ型、直接Ⅱ型、直接Ⅲ型、级联型和并联型。 FIR 数字滤波器的基本结构分为横截型(又称直接型或卷积型)、级联型、线性相位型及频率采样型等。本实验对线性相位型及频率采样型不做讨论,见实验10、12。 另外,滤波器的一种新型结构——格型结构也逐步投入应用,有全零点FIR 系统格型结构、全极点IIR 系统格型结构以及全零极点IIR 系统格型结构。 2、IIR 数字滤波器的基本结构与实现 (1)直接型与级联型、并联型的转换 例6-1 已知一个系统的传递函数为 -1-2-3 -1-2-3 8-4z +11z -2z H(z)=1-1.25z +0.75z -0.125z 将其从直接型(其信号流图如图6-1所示)转换为级联型和并联型。

数字信号处理实验报告(实验1_4)

实验一 MATLAB 仿真软件的基本操作命令和使用方法 实验容 1、帮助命令 使用 help 命令,查找 sqrt (开方)函数的使用方法; 2、MATLAB 命令窗口 (1)在MATLAB 命令窗口直接输入命令行计算3 1)5.0sin(21+=πy 的值; (2)求多项式 p(x) = x3 + 2x+ 4的根; 3、矩阵运算 (1)矩阵的乘法 已知 A=[1 2;3 4], B=[5 5;7 8],求 A^2*B

(2)矩阵的行列式 已知A=[1 2 3;4 5 6;7 8 9],求A (3)矩阵的转置及共轭转置 已知A=[1 2 3;4 5 6;7 8 9],求A' 已知B=[5+i,2-i,1;6*i,4,9-i], 求B.' , B' (4)特征值、特征向量、特征多项式 已知A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4] ,求矩阵A的特征值、特征向量、特征多项式;

(5)使用冒号选出指定元素 已知:A=[1 2 3;4 5 6;7 8 9];求A 中第3 列前2 个元素;A 中所有列第2,3 行的元素; 4、Matlab 基本编程方法 (1)编写命令文件:计算1+2+…+n<2000 时的最大n 值;

(2)编写函数文件:分别用for 和while 循环结构编写程序,求 2 的0 到15 次幂的和。

5、MATLAB基本绘图命令 (1)绘制余弦曲线 y=cos(t),t∈[0,2π]

(2)在同一坐标系中绘制余弦曲线 y=cos(t-0.25)和正弦曲线 y=sin(t-0.5), t∈[0,2π] (3)绘制[0,4π]区间上的 x1=10sint 曲线,并要求: (a)线形为点划线、颜色为红色、数据点标记为加号; (b)坐标轴控制:显示围、刻度线、比例、网络线 (c)标注控制:坐标轴名称、标题、相应文本; >> clear;

数字信号处理实验报告一

武汉工程大学 数字信号处理实验报告 姓名:周权 学号:1204140228 班级:通信工程02

一、实验设备 计算机,MATLAB语言环境。 二、实验基础理论 1.序列的相关概念 2.常见序列 3.序列的基本运算 4.离散傅里叶变换的相关概念 5.Z变换的相关概念 三、实验内容与步骤 1.离散时间信号(序列)的产生 利用MATLAB语言编程产生和绘制单位样值信号、单位阶跃序列、指数序列、正弦序列及随机离散信号的波形表示。 四实验目的 认识常用的各种信号,理解其数字表达式和波形表示,掌握在计算机中生成及绘制数字信号波形的方法,掌握序列的简单运算及计算机实现与作用,理解离散时间傅里叶变换,Z变换及它们的性质和信号的频域分

实验一离散时间信号(序列)的产生 代码一 单位样值 x=2; y=1; stem(x,y); title('单位样值 ') 单位阶跃序列 n0=0; n1=-10; n2=10; n=[n1:n2]; x=[(n-n0)>=0]; stem(n,x); xlabel('n'); ylabel('x{n}'); title('单位阶跃序列');

实指数序列 n=[0:10]; x=(0.5).^n; stem(n,x); xlabel('n'); ylabel('x{n}'); title('实指数序列');

正弦序列 n=[-100:100]; x=2*sin(0.05*pi*n); stem(n,x); xlabel('n'); ylabel('x{n}'); title('正弦序列');

随机序列 n=[1:10]; x=rand(1,10); subplot(221); stem(n,x); xlabel('n'); ylabel('x{n}'); title('随机序列');

数字信号处理实验(吴镇扬)答案-4

实验四 有限长单位脉冲响应滤波器设计 朱方方 0806020433 通信四班 (1) 设计一个线性相位FIR 高通滤波器,通带边界频率为0.6π,阻带边界频率为0.4π,阻 带衰减不小于40dB 。要求给出h(n)的解析式,并用MATLAB 绘出时域波形和幅频特性。 解: (1) 求数字边界频率: 0.6 , .c r ωπωπ== (2) 求理想滤波器的边界频率: 0.5n ωπ= (3) 求理想单位脉冲响应: []d s i n ()s i n [()] () ()1n n n n n n h n n παωαα παωα π?-- -≠??-=? ? -=?? (4) 选择窗函数。阻带最小衰减为-40dB ,因此选择海明窗(其阻带最小衰减为-44dB);滤 波器的过渡带宽为0.6π-0.4π=0.2π,因此 6.21 0.231 , 152 N N N ππα-=?=== (5) 求FIR 滤波器的单位脉冲响应h(n): []31d sin (15)sin[0.5(15)] 1cos ()15()()()15(15)1 15 n n n R n n h n w n h n n n ππππ?---????-? ?≠? ???==-???? ? ?=? 程序: clear; N=31; n=0:N-1; hd=(sin(pi*(n-15))-sin(0.5*pi*(n-15)))./(pi *(n-15)); hd(16)=0.5; win=hanning(N); h=win'.*hd; figure; stem(n,h); xlabel('n'); ylabel('h(n)'); grid; title('FIR 高通滤波单位脉冲响应h(n)'); [H,w]=freqz(h,1); H=20*log10(abs(H)); figure;3 plot(w/pi,H); axis([0 1 -100 10]); xlabel('\omega/\pi'); ylabel('幅度/dB'); grid; title('FIR 高通滤波器,hanning 窗,N=31');

数字信号处理实验答案完整版

数字信号处理实验答案 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

实验一熟悉Matlab环境 一、实验目的 1.熟悉MATLAB的主要操作命令。 2.学会简单的矩阵输入和数据读写。 3.掌握简单的绘图命令。 4.用MATLAB编程并学会创建函数。 5.观察离散系统的频率响应。 二、实验内容 认真阅读本章附录,在MATLAB环境下重新做一遍附录中的例子,体会各条命令的含义。在熟悉了MATLAB基本命令的基础上,完成以下实验。 上机实验内容: (1)数组的加、减、乘、除和乘方运算。输入A=[1 2 3 4],B=[3 4 5 6],求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B并用stem语句画出A、B、C、D、E、F、G。 clear all; a=[1 2 3 4]; b=[3 4 5 6]; c=a+b; d=a-b; e=a.*b; f=a./b; g=a.^b; n=1:4; subplot(4,2,1);stem(n,a); xlabel('n');xlim([0 5]);ylabel('A'); subplot(4,2,2);stem(n,b); xlabel('n');xlim([0 5]);ylabel('B'); subplot(4,2,3);stem(n,c); xlabel('n');xlim([0 5]);ylabel('C'); subplot(4,2,4);stem(n,d); xlabel('n');xlim([0 5]);ylabel('D'); subplot(4,2,5);stem(n,e); xlabel('n');xlim([0 5]);ylabel('E'); subplot(4,2,6);stem(n,f); xlabel('n');xlim([0 5]);ylabel('F'); subplot(4,2,7);stem(n,g); xlabel('n');xlim([0 5]);ylabel('G'); (2)用MATLAB实现下列序列: a) x(n)= 0≤n≤15 b) x(n)=e+3j)n 0≤n≤15 c) x(n)=3cosπn+π)+2sinπn+π) 0≤n≤15 d) 将c)中的x(n)扩展为以16为周期的函数x(n)=x(n+16),绘出四个周期。

数字信号处理实验作业

实验5 抽样定理 一、实验目的: 1、了解用MA TLAB 语言进行时域、频域抽样及信号重建的方法。 2、进一步加深对时域、频域抽样定理的基本原理的理解。 3、观察信号抽样与恢复的图形,掌握采样频率的确定方法和插公式的编程方法。 二、实验原理: 1、时域抽样与信号的重建 (1)对连续信号进行采样 例5-1 已知一个连续时间信号sin sin(),1Hz 3 ππ=0001f(t)=(2f t)+6f t f ,取最高有限带宽频率f m =5f 0,分别显示原连续时间信号波形和F s >2f m 、F s =2f m 、F s <2f m 三情况下抽样信号的波形。 程序清单如下: %分别取Fs=fm ,Fs=2fm ,Fs=3fm 来研究问题 dt=0.1; f0=1; T0=1/f0; m=5*f0; Tm=1/fm; t=-2:dt:2; f=sin(2*pi*f0*t)+1/3*sin(6*pi*f0*t); subplot(4,1,1); plot(t,f); axis([min(t),max(t),1.1*min(f),1.1*max(f)]); title('原连续信号和抽样信号'); for i=1:3; fs=i*fm;Ts=1/fs; n=-2:Ts:2; f=sin(2*pi*f0*n)+1/3*sin(6*pi*f0*n); subplot(4,1,i+1);stem(n,f,'filled'); axis([min(n),max(n),1.1*min(f),1.1*max(f)]); end 程序运行结果如图5-1所示:

原连续信号和抽样信号 图5-1 (2)连续信号和抽样信号的频谱 由理论分析可知,信号的频谱图可以很直观地反映出抽样信号能否恢复原模拟信号。因此,我们对上述三种情况下的时域信号求幅度谱,来进一步分析和验证时域抽样定理。 例5-2编程求解例5-1中连续信号及其三种抽样频率(F s>2f m、F s=2f m、F s<2f m)下的抽样信号的幅度谱。 程序清单如下: dt=0.1;f0=1;T0=1/f0;fm=5*f0;Tm=1/fm; t=-2:dt:2;N=length(t); f=sin(2*pi*f0*t)+1/3*sin(6*pi*f0*t); wm=2*pi*fm;k=0:N-1;w1=k*wm/N; F1=f*exp(-j*t'*w1)*dt;subplot(4,1,1);plot(w1/(2*pi),abs(F1)); axis([0,max(4*fm),1.1*min(abs(F1)),1.1*max(abs(F1))]); for i=1:3; if i<=2 c=0;else c=1;end fs=(i+c)*fm;Ts=1/fs; n=-2:Ts:2;N=length(n); f=sin(2*pi*f0*n)+1/3*sin(6*pi*f0*n); wm=2*pi*fs;k=0:N-1; w=k*wm/N;F=f*exp(-j*n'*w)*Ts; subplot(4,1,i+1);plot(w/(2*pi),abs(F)); axis([0,max(4*fm),1.1*min(abs(F)),1.1*max(abs(F))]); end 程序运行结果如图5-2所示。 由图可见,当满足F s≥2f m条件时,抽样信号的频谱没有混叠现象;当不满足F s≥2f m 条件时,抽样信号的频谱发生了混叠,即图5-2的第二行F s<2f m的频谱图,,在f m=5f0的围,频谱出现了镜像对称的部分。

数字信处理上机实验答案全

数字信处理上机实验答 案全 Document number【SA80SAB-SAA9SYT-SAATC-SA6UT-SA18】

第十章 上机实验 数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。本章在第二版的基础上编写了六个实验,前五个实验属基础理论实验,第六个属应用综合实验。 实验一系统响应及系统稳定性。 实验二时域采样与频域采样。 实验三用FFT对信号作频谱分析。 实验四 IIR数字滤波器设计及软件实现。 实验五 FIR数字滤波器设计与软件实现 实验六应用实验——数字信号处理在双音多频拨号系统中的应用 任课教师根据教学进度,安排学生上机进行实验。建议自学的读者在学习完第一章后作实验一;在学习完第三、四章后作实验二和实验三;实验四IIR数字滤波器设计及软件实现在。学习完第六章进行;实验五在学习完第七章后进行。实验六综合实验在学习完第七章或者再后些进行;实验六为综合实验,在学习完本课程后再进行。 实验一: 系统响应及系统稳定性 1.实验目的 (1)掌握求系统响应的方法。 (2)掌握时域离散系统的时域特性。 (3)分析、观察及检验系统的稳定性。 2.实验原理与方法 在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。在计算机上适合用递推法求差分方程的解,最简单的方法是采用MATLAB语言的工具箱函数filter函数。也可以用MATLAB语言的工具箱函数conv函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。 系统的时域特性指的是系统的线性时不变性质、因果性和稳定性。重点分析实验系统的稳定性,包括观察系统的暂态响应和稳定响应。 系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。或者系统的单位脉冲响应满足绝对可和的条件。系统的稳定性由其差分方程的系数决定。 实际中检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的[19]。系统的稳态输出是指当∞ n时,系统的输出。如果系统稳定,信号加入 → 系统后,系统输出的开始一段称为暂态效应,随n的加大,幅度趋于稳定,达到稳态输出。 注意在以下实验中均假设系统的初始状态为零。 3.实验内容及步骤

西南交大数字信号处理报告

信息科学与技术学院本科三年级 数字信号处理实验报告 2011 年12 月21日

实验一 序列的傅立叶变换 实验目的 进一步加深理解DFS,DFT 算法的原理;研究补零问题;快速傅立叶变换 (FFT )的应用。 实验步骤 1. 复习DFS 和DFT 的定义,性质和应用; 2. 熟悉MATLAB 语言的命令窗口、编程窗口和图形窗口的使用;利用提供的 程序例子编写实验用程序;按实验内容上机实验,并进行实验结果分析;写出完整的实验报告,并将程序附在后面。 实验内容 1. 周期方波序列的频谱试画出下面四种情况下的的幅度频谱,并分析补零后,对信号频谱的影响。 实验结果: 60 ,7)4(;60,5)3(; 40,5)2(;20,5)1()] (~[)(~,2,1,01 )1(,01,1)(~=========±±=???-+≤≤+-+≤≤=N L N L N L N L n x DFS k X m N m n L m N L m N n m N n x ) 52.0cos()48.0cos()(n n n x ππ+=

2. 有限长序列x(n)的DFT (1) 取x(n)(n=0:10)时,画出x(n)的频谱X(k) 的幅度; (2) 将(1)中的x(n)以补零的方式,使x(n)加长到(n:0~100)时,画出 x(n)的频谱X(k) 的幅度; (3) 取x(n)(n:0~100)时,画出x(n)的频谱X(k) 的幅度。利用FFT 进行谱分析 已知:模拟信号 以t=0.01n(n=0:N-1)进行采样,求N 点DFT 的幅值谱。 请分别画出N=45; N=50;N=55;N=60时的幅值曲线。 实验结果: ) 8cos(5)4sin(2)(t t t x ππ+=

数字信号处理实验八(上机)报告概论

数字信号处理实验报告 实验名称: 实验八 双线性变换法IIR 数字滤波器设计 实验时间: 2014 年 12 月 9 日 学号: 201211106134 姓名: 孙舸 成绩: 评语: 一、 实验目的: 1、掌握用双线性变换法设计低通IIR 数字滤波器的基本原理和算法; 2、掌握用双线性变换法设计高通和带通IIR 数字滤波器的基本原理和算法; 3、进一步了解数字滤波器和模拟滤波器的频率响应特性。 二、 实验原理与计算方法: 1、双线性变换法设计IIR 低通数字滤波器的基本原理和算法 双线性变换法设计数字滤波器,采用了二次映射的方法,就是先将整个s 平面压缩到s 1平面的一个T j T j π π ~-的横形条带范围内,然后再将这个条带映射到z 平面上,就 能建立s 平面到z 平面的一一对应关系。对于低通数字滤波器,映射关系为 z z T z z T s ++-= +-=--11211211 (1) 其中T 为抽样周期。 用双线性变换法设计低通IIR 数字滤波器的基本步骤,首先根据设计要求确定相应的模拟滤波器的传递函数)(s H a ,再应用(1)式得数字滤波器的传递函数)(z H z z T s a s H z H ++-==112) ()( (2) 通常可以给定的参数为:低通数字滤波器通带边界频率p p f πΩ21=、阻带边界频率 s s f πΩ21=和对应的通带衰减函数p α、阻带衰减函数s α。s 1平面中的模拟角频率1Ω与数 字角频率ω的关系为线性关系T 1Ωω=,在计算模拟滤波器的阶数N 、极点s i 和传递函数)(s H a 之前,应作预畸变处理 2 2tan 22tan 2 1T f T T T πΩΩ== (3) 模拟滤波器的阶数N 、极点s i 和传递函数)(s H a 的计算方法与冲激响应不变法相同,

数字信号处理第二章上机作业

第二章上机作业 1、ljdt(A,B)函数定义 function ljdt(A,B) p=roots(A); q=roots(B); p=p'; q=q'; x=max(abs([p q 1])); x=x+0.1; y=x; clf hold on axis([-x x -y y]) w=0:pi/300:2*pi; t=exp(i*w); plot(t) axis('square') plot([-x x],[0 0]) plot([0 0],[-y y]) text(0.1,x,'jIm[z]') text(y,1/10,'Re[z]') plot(real(p),imag(p),'x') plot(ral(q),imag(q),'o') title('pole-zero diagram for discrete system') hold off 例2.26 a=[3 -1 0 0 0 1]; b=[1 1]; ljdt(a,b) p=roots(a) q=roots(b) pa=abs(p) 程序运行结果如下: P= 0.7255+0.4633i 0.7255+0.4633i -0.1861+0.7541i -0.1861-0.7541i -0.7455 q=

-1 pa= 0.8608 0.8608 0.7768 0.7768 0.7455 例2.27 b=[0 1 2 1];a=[1 -0.5 -0.005 0.3]; subplot 311 zplane(b,a);xlabel('实部');ylabel('虚部'); num=[0 1 2 1];den=[1 -0.5 -0.005 0.3]; h=impz(num,den); subplot 312

数字信号处理实验

实验一 自适应滤波器 一、实验目的 1、掌握功率谱估计方法 2、会用matlab 对功率谱进行仿真 二、实验原理 功率谱估计方法有很多种,一般分成两大类,一类是经典谱估计;另一类是现代谱估计。经典谱估计可以分成两种,一种是BT 法,另一种是周期法;BT 法是先估计自相关函数,然后将相关函数进行傅里叶变换得到功率谱函数。相应公式如下所示: ||1 *0 1 ?()()()(11) ??()(12) N m xx n jwn BT xx m r m x n x n m N P r m e --=∞ -=-∞ =+-=-∑ ∑ 周期图法是采用功率谱的另一种定义,但与BT 法是等价的,相应的功率谱估计如下所示: 2 1 1? ()()01 (13)N jw jwn xx n P e x n e n N N --==≤≤--∑ 其计算框图如下所示: ) (jw xx e ∧ 图1.1周期图法计算用功率谱框图

由于观测数据有限,所以周期图法估计分辨率低,估计误差大。针对经典谱估计的缺点,一般有三种改进方法:平均周期图法、窗函数法和修正的周期图平均法。 三、实验要求 信号是正弦波加正态零均值白噪声,信噪比为10dB,信号频率为2kHZ,取样频率为100kHZ。 四、实验程序与实验结果 (1)用周期图法进行谱估计 A、实验程序: %用周期法进行谱估计 clear all; N1=128;%数据长度 N2=256; N3=512; N4=1024; f=2;%正弦波频率,单位为kHZ fs=100;%抽样频率,单位为kHZ n1=0:N1-1; n2=0:N2-1; n3=0:N3-1; n4=0:N4-1; a=sqrt(20);%由信噪比为10dB计算正弦信号的幅度

习题集-02 数字信号处理习题答案

§ Z 变换 ? Z 变换的定义及收敛域 【习题】 1. 假如)(n x 的z 变换代数表示式是下式,问)(z X 可能有多少不同的收敛域。 )83451)(411(411)(2122----+++- =z z z z z X 【分析】 )要单独讨论,(环状、圆外、圆内:有三种收敛域:双边序列的收敛域为:特殊情况有:左边序列的收敛域为:因果序列的收敛域为:右边序列的收敛域为:特殊情况有:有限长序列的收敛域为 0 0 , , 0 0 , , 0 , 0 0 , 0 , 0 22 11 212 1∞==<<≤≤<≤<<≥≥∞≤<≥∞<<≤∞<≤≥∞≤<≤≤∞<<+ -++--z z R z R n n R z n n R z n n z R n n z R n z n z n n n z x x x x x x

解:对X (Z )的分子和分母进行因式分解得 )43 1 )(21 1)(211(2111111----+-+- =Z jZ jZ Z X (Z )的零点为:1/2,极点为:j/2,-j/2,-3/4 ∴ X (Z )的收敛域为: (1) 1/2 < | Z | < 3/4,为双边序列,见图一 (2) | Z | < 1/2,为左边序列,见图二 (3) | Z | > 3/4,为右边序列,见图三 图一 图二 图三 )431)(211)(411()211)(211()(11211-----++++- =Z Z Z Z Z Z X

? Z 反变换 【习题】 2. 有一右边序列 )(n x ,其 z 变换为)1)(211(1 )(11----=z z z X (a) 将上式作部分分式展开(用 1-z 表示),由展开式求 )(n x 。 (b) 将上式表示成 z 的多项式之比,再作部分分式展开,由展开式求 )(n x ,并说明所得到的序列 与(a)所得的是一样的。 【注意】不管哪种表示法最后求出 x (n ) 应该是相同的。 解:(a) 因为11122 111)(---+--=z z z X 且x(n)是右边序列 所以 )()212()(n u n x n ?? ? ??-= (b) 122 1211 )1)(2 1(21231 )1)(2 1()(2 -+--+=---+=--=z z z z z z z z z X )()212( )1(2)1(21)()( n u n u n u n n x n n ??? ??-=-+-?? ? ??-=δ则

数字信号处理实验报告

3.(1)用双线性变换法设计一个Chebyshev型高通滤波器程序如下 Rp=1.2;Rs=20;T=0.001;fp=300;fs=200; wp=2*pi*fp*T;ws=2*pi*fs*T; wp1=(2/T)*tan(wp/2);ws1=(2/T)*tan(ws/2); [n,wn]=cheb1ord(wp1,ws1,Rp,Rs,'s'); [b,a]=cheby1(n,Rp,wn,'high','s'); [bz,az]=bilinear(b,a,1/T); [db,mag,pha,grd,w]=freqz_m(bz,az);plot(w/pi,db); axis([0,1,-30,2]); 3.(2) a用双线性变换法设计一个Butterworth型数字低通滤波器程序如下Rp=1;Rs=25;T=0.001;fp=300;fs=200; wp=2*pi*fp*T;ws=2*pi*fs*T; wp1=(2/T)*tan(wp/2);ws1=(2/T)*tan(ws/2); [n,wn]=buttord(wp1,ws1,Rp,Rs,'s'); [b,a]=butter(n,wn,'low','s'); [bz,az]=bilinear(b,a,1/T); [db,mag,pha,grd,w]=freqz_m(bz,az);plot(w/pi,db); axis([0,1,-30,2]); b用脉冲响应不变法设计一个Butterworth数字低通滤波器的程序如下:wp=400*pi;ws=600*pi;Rp=1;Rs=25; [n,wn]=buttord(wp,ws,Rp,Rs,'s') [b,a]=butter(n,wn,'s') [db,mag,pha,w]=freqs_m(b,a,500*2*pi);

数字信号处理上机作业

数字信号处理上机作业 学院:电子工程学院 班级:021215 组员:

实验一:信号、系统及系统响应 1、实验目的 (1) 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解。 (2) 熟悉时域离散系统的时域特性。 (3) 利用卷积方法观察分析系统的时域特性。 (4) 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。 2、实验原理与方法 (1) 时域采样。 (2) LTI系统的输入输出关系。 3、实验内容及步骤 (1) 认真复习采样理论、离散信号与系统、线性卷积、序列的傅里叶变换及性质等有关内容,阅读本实验原理与方法。 (2) 编制实验用主程序及相应子程序。 ①信号产生子程序,用于产生实验中要用到的下列信号序列: a. xa(t)=A*e^-at *sin(Ω0t)u(t) b. 单位脉冲序列:xb(n)=δ(n) c. 矩形序列: xc(n)=RN(n), N=10 ②系统单位脉冲响应序列产生子程序。本实验要用到两种FIR系统。 a. ha(n)=R10(n); b. hb(n)=δ(n)+2.5δ(n-1)+2.5δ(n-2)+δ(n-3) ③有限长序列线性卷积子程序 用于完成两个给定长度的序列的卷积。可以直接调用MATLAB语言中的卷积函数conv。 conv 用于两个有限长度序列的卷积,它假定两个序列都从n=0 开始。调用格式如下: y=conv (x, h) 4、实验结果分析 ①分析采样序列的特性。 a. 取采样频率fs=1 kHz,,即T=1 ms。 b. 改变采样频率,fs=300 Hz,观察|X(e^jω)|的变化,并做记录(打印曲线);进一步降低采样频率,fs=200 Hz,观察频谱混叠是否明显存在,说明原因,并记录(打印)这时的|X(e^j ω)|曲线。 程序代码如下: close all;clear all;clc; A=50; a=50*sqrt(2)*pi; m=50*sqrt(2)*pi; fs1=1000; fs2=300; fs3=200; T1=1/fs1; T2=1/fs2; T3=1/fs3; N=100;

数字信号处理上机实验答案(全)1

第十章 上机实验 数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。本章在第二版的基础上编写了六个实验,前五个实验属基础理论实验,第六个属应用综合实验。 实验一 系统响应及系统稳定性。 实验二 时域采样与频域采样。 实验三 用FFT 对信号作频谱分析。 实验四 IIR 数字滤波器设计及软件实现。 实验五 FIR 数字滤波器设计与软件实现 实验六 应用实验——数字信号处理在双音多频拨号系统中的应用 任课教师根据教学进度,安排学生上机进行实验。建议自学的读者在学习完第一章后作实验一;在学习完第三、四章后作实验二和实验三;实验四IIR 数字滤波器设计及软件实现在。学习完第六章进行;实验五在学习完第七章后进行。实验六综合实验在学习完第七章或者再后些进行;实验六为综合实验,在学习完本课程后再进行。 10.1 实验一: 系统响应及系统稳定性 1.实验目的 (1)掌握 求系统响应的方法。 (2)掌握时域离散系统的时域特性。 (3)分析、观察及检验系统的稳定性。 2.实验原理与方法 在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。在计算机上适合用递推法求差分方程的解,最简单的方法是采用MA TLAB 语言的工具箱函数filter 函数。也可以用MATLAB 语言的工具箱函数conv 函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。 系统的时域特性指的是系统的线性时不变性质、因果性和稳定性。重点分析实验系统的稳定性,包括观察系统的暂态响应和稳定响应。 系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。或者系统的单位脉冲响应满足绝对可和的条件。系统的稳定性由其差分方程的系数决定。 实际中检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的[19]。系统的稳态输出是指当∞→n 时,系统的输出。如果系统稳定,信号加入系统后,系统输出的开始一段称为暂态效应,随n 的加大,幅度趋于稳定,达到稳态输出。 注意在以下实验中均假设系统的初始状态为零。 3.实验内容及步骤 (1)编制程序,包括产生输入信号、单位脉冲响应序列的子程序,用filter 函数或conv 函数求解系统输出响应的主程序。程序中要有绘制信号波形的功能。 (2)给定一个低通滤波器的差分方程为

相关文档
最新文档