当前位置:文档之家› 数字信号处理上机实验报告

数字信号处理上机实验报告

数字信号处理上机实验报告
数字信号处理上机实验报告

实验一系统响应及系统稳定性

一、实验目的

(1)掌握求系统响应的方法。

(2)掌握时域离散系统的时域特性。

(3)分析、观察及检验系统的稳定性。

二、实验内容

(1)给定一个低通滤波器的差分方程为

y(n)=0.05x(n)+0.05x(n-1)+0.9y(n-1)

输入信号x1(n)=R8(n)

x2(n)=u(n)

(a) 分别求出系统对x1(n)=R8(n) 和x2(n)=u(n)的响应序列,并画出其波形。

(b) 求出系统的单位冲响应,画出其波形。

实验程序:

A=[1,-0.9];B=[0.05,0.05]; %%系统差分方程系数向量 B 和 A

x1n=[1 1 1 1 1 1 1 1 zeros(1,50)]; %产生信号 x1(n)=R8(n)

x2n=ones(1,128); %产生信号 x2(n)=u(n)

y1n=filter(B,A,x1n); %求系统对 x1(n)的响应 y1(n)

n=0:length(y1n)-1;

subplot(2,2,1);

stem(n,y1n,'.');

title('(a) 系统对 R_8(n)的响应y_1(n)');

xlabel('n');

ylabel('y_1(n)');

y2n=filter(B,A,x2n); %求系统对 x2(n)的响应 y2(n)

n=0:length(y2n)-1;

subplot(2,2,2);

stem(n,y2n,'.');

title('(b) 系统对 u(n)的响应y_2(n)');

xlabel('n');

ylabel('y_2(n)');

hn=impz(B,A,58); %求系统单位脉冲响应 h(n)

n=0:length(hn)-1;

subplot(2,2,3);

y=hn;

stem(n,hn,'.');

title('(c) 系统单位脉冲响应h(n)');

xlabel('n');

ylabel('h(n)');

运行结果图:

(2)给定系统的单位脉冲响应为

h1(n)=R10(n)

h2(n)= δ(n)+2.5δ(n-1)+2.5δ(n-2)+δ(n-3)

用线性卷积法分别求系统h1(n)和h2(n)对x1(n)=R8(n)的输出响应,并画出波形。

实验程序:

x1n=[1 1 1 1 1 1 1 1 ]; %产生信号 x1(n)=R8(n)

h1n=ones(1,10);

h2n=[1 2.5 2.5 1 ];

y21n=conv(h1n,x1n);

y22n=conv(h2n,x1n);

figure(2)

n=0:length(h1n)-1;

subplot(2,2,1);

stem(n,h1n);

title('(d) 系统单位脉冲响应h1n');

xlabel('n');

ylabel('h_1(n)');

n=0:length(y21n)-1;

subplot(2,2,2);

stem(n,y21n);

title('(e) h_1(n)与 R_8(n)的卷积y_{21}n');

xlabel('n');

ylabel('y_{21}(n)');

n=0:length(h2n)-1;

subplot(2,2,3);

stem(n,h2n);

title('(f) 系统单位脉冲响应h_2n');

xlabel('n');

ylabel('h_2(n)');

n=0:length(y22n)-1;

subplot(2,2,4)

stem(n,y22n);

title('(g) h_2(n)与 R_8(n)的卷积y_{22}n');

xlabel('n');

ylabel('y_{22}(n)');

运行结果图:

(3)给定一谐振器的差分方程为

y(n)=1.8237y(n-1)-0.9801y(n-2)+b0x(n)-b0x(n-2)

令b0=1/100.49,谐振器的谐振频率为 0.4rad。

(a) 用实验方法检查系统是否稳定。输入信号为u(n) 时,画出系统输出波形。

(b) 给定输入信号为

x(n)= sin(0.014n )+ sin(0.4n )

求出系统的输出响应,并画出其波形。

实验程序:

un=ones(1,256); %产生信号 u(n)

n=0:255;

xsin=sin(0.014*n)+sin(0.4*n); %产生正弦信号

A=[1,-1.8237,0.9801];

B=[1/100.49,0,-1/100.49]; %系统差分方程系数向量 B和 A

y31n=filter(B,A,un); %谐振器对 u(n)的响应 y31(n)

y32n=filter(B,A,xsin); %谐振器对 u(n)的响应 y31(n)

figure(3)

n=0:length(y31n)-1;

subplot(2,1,1);

stem(n,y31n,'.');

title('(h) 谐振器对 u(n) 的响应y_{31}n');

xlabel('n');

ylabel('y_{31}(n)');

n=0:length(y32n)-1;

subplot(2,1,2);

stem(n,y32n,'.');

title('(i) 谐振器对正弦信号的响应y_{32}n');

xlabel('n');

ylabel('y_{32}(n)');

运行结果图:

实验二时域采样与频域采样

一、实验目的

时域采样理论与频域采样理论是数字信号处理中的重要理论。要求掌握模拟信号

采样前后频谱的变化,以及如何选择采样频率才能使采样后的信号不丢失信息;要求掌握频率域采样会引起时域周期化的概念,以及频率域采样定理及其对频域采样点数选择的指导作用。

二、实验内容

(1)时域采样理论的验证

给定模拟信号,x

a (t)=Ae-at sin(Ω

t)u(t)

式中 A=444.128,α =50 2 π,Ω =50 2 πrad/s Tp=64/1000; %观察时间 Tp=64 微秒

Fs=1000;

T=1/Fs;

M=Tp*Fs;

n=0:M-1;

t=n*T;

A=444.128;

alph=pi*50*2^0.5;

omega=pi*50*2^0.5;

xat=A*exp(-alph.*t).*sin(omega*t);%给定模拟信号Xk=T*fft(xat,M); %M 点 FFT[xat)]

subplot(3,2,1); stem(n,xat,'.');

xlabel('n');

ylabel('x_1(n)');

title('(a) Fs=1000Hz');

k=0:M-1;fk=k/Tp;

subplot(3,2,2);

plot(fk,abs(Xk));

title('(a) T*FT[x_a(nT)],F_s=1000Hz');

xlabel('\omega/hz');

ylabel('(H_1(e^j^w))');

axis([0,Fs,0,1.2*max(abs(Xk))]);

Fs=300;T=1/Fs;

M=Tp*Fs;

n=0:M-1;

t=n*T;

A=444.128;

alph=pi*50*2^0.5;

omega=pi*50*2^0.5;

xat=A*exp(-alph*t).*sin(omega*t);

Xk=T*fft(xat,M); %M 点 FFT[xat)]

subplot(3,2,3);

stem(n,xat,'.');

xlabel('n');

ylabel('x_2(n)');

title('(b) Fs=300Hz');

k=0:M-1;fk=k/Tp;

subplot(3,2,4);

plot(fk,abs(Xk));

title('(a) T*FT[x_a(nT)],Fs=300Hz'); xlabel('\omega/hz');

ylabel('(H_2(e^j^w))');

axis([0,Fs,0,1.2*max(abs(Xk))]);

A=444.128;

alph=pi*50*2^0.5;

omega=pi*50*2^0.5;

xat=A*exp(-alph*t).*sin(omega*t); Xk=T*fft(xat,M); %M 点 FFT[xat)] subplot(3,2,5);

stem(n,xat,'.');

xlabel('n');

ylabel('x_3(n)');

title('(c) Fs=200Hz');

k=0:M-1;fk=k/Tp;

subplot(3,2,6);

plot(fk,abs(Xk));

title('(a) T*FT[x_a(nT)],Fs=200Hz'); xlabel('\omega/hz');

ylabel('(H_3(e^j^w))');

axis([0,Fs,0,1.2*max(abs(Xk))])

(2)频域采样理论的验证

clc;clear;close all;

M=27;N=32;n=0:M;

xa=0:(M/2);

xb=ceil(M/2)-1:-1:0;

xn=[xa,xb]; %产生 M 长三角波序列 x(n)

Xk=fft(xn,1024); %1024点FFT[x(n)], 用于近似序列 x(n)的 TF X32k=fft(xn,32) ;%32 点 FFT[x(n)]

x32n=ifft(X32k); %32点 IFFT[X32(k)]得到 x32(n)

X16k=X32k(1:2:N); %隔点抽取 X32k 得到 X16(k)

x16n=ifft(X16k,N/2); %16点 IFFT[X16(k)]得到 x16(n)

subplot(3,2,2);

stem(n,xn,'.');

title('(b) 三角波序列 x(n)');

xlabel('n');

ylabel('x(n)');

axis([0,32,0,20]);

k=0:1023;wk=2*k/1024;

subplot(3,2,1);

plot(wk,abs(Xk));

title('(a)FT[x(n)]');

xlabel('\omega/\pi');

ylabel('|X(e^j^\omega)|');

axis([0,1,0,200]) ;

k=0:N/2-1;

subplot(3,2,3);

stem(k,abs(X16k),'.');

title('(c) 16 点频域采样');

xlabel('k');

ylabel('|X_1_6(k)|');

axis([0,8,0,200])

n1=0:N/2-1;

subplot(3,2,4);

stem(n1,x16n,'.');

title('(d) 16点 IDFT[X_1_6(k)]'); xlabel('n');

ylabel('x_1_6(n)');

axis([0,32,0,20]);

k=0:N-1;

subplot(3,2,5);

stem(k,abs(X32k),'.');

title('(e) 32 点频域采样');

xlabel('k');

ylabel('|X_3_2(k)|');

axis([0,16,0,200]);

n1=0:N-1;

subplot(3,2,6);

stem(n1,x32n,'.');

box on

title('(f) 32 点IDFT[X_3_2(k)]'); xlabel('n');

ylabel('x_3_2(n)');

axis([0,32,0,20]);

运行结果图:

实验三 用 FFT 对信号作频谱分析

一.实验目的

学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现

的分析误差及其原因,以便正确应用 FFT 。

二.实验内容

(1)对以下序列进行谱分析

()()14x n R n =;2103

(2)8470n n x n n +≤≤??

=-≤≤???

其它n ;

3403()3470n

n x n n n -≤≤??

=-≤≤???

其它n

选择 FFT 的变换区间 N 为 8 和16 两种情况进行频谱分析。分别打印其幅频特性曲线。 并进行对比、分析和讨论。 实验程序:

x1n=[ones(1,4)]; %产生序列向量x1(n)=R4(n) M=8;xa=1:(M/2); xb=(M/2):-1:1;

x2n=[xa,xb]; %产生长度为8 的三角波 x3n=[xb,xa];

X1k8=fft(x1n,8); %计算x1n 的 8点DFT X1k16=fft(x1n,16); %计算x1n 的16点 DFT X2k8=fft(x2n,8); %计算x2n 的 8点DFT X2k16=fft(x2n,16); %计算x2n 的16点 DFT X3k8=fft(x3n,8); %计算x3n 的 8点DFT X3k16=fft(x3n,16); %计算x3n 的16点 DFT %以下绘制幅频特性曲线 subplot(1,2,1);

stem(X1k8,'.'); %绘制8点 DFT 的幅频特性图 title('(1a) 8点DFT[x_1(n)]'); xlabel('ω/π');ylabel('幅度'); subplot(1,2,2);

stem(X1k16,'.'); %绘制16点 DFT 的幅频特性图 title('(1b)16点DFT[x_1(n)]'); xlabel('ω/π'); ylabel('幅度'); figure(2);

subplot(2,2,1);

stem(X2k8,'.'); %绘制8点 DFT 的幅频特性图 title('(2a) 8点DFT[x_2(n)]'); xlabel('ω/π'); ylabel('幅度'); subplot(2,2,2);

stem(X2k16,'.'); %绘制16点 DFT 的幅频特性图 title('(2b)16点DFT[x_2(n)]'); xlabel('ω/π'); ylabel('幅度'); subplot(2,2,3);

stem(X3k8,'.'); %绘制8点 DFT 的幅频特性图 title('(3a) 8点DFT[x_3(n)]'); xlabel('ω/π'); ylabel('幅度');

subplot(2,2,4);

stem(X3k16,'.'); %绘制16点 DFT 的幅频特性图 title('(3b)16点DFT[x_3(n)]'); xlabel('ω/π'); ylabel('幅度');

运行结果图:

(2)对以下周期序列进行谱分析

4()cos

4

x n n π

=; N=8;n=0:N-1; %FFT 的变换区间N=8 x4n=cos(pi*n/4);

x5n=cos(pi*n/4)+cos(pi*n/8);

X4k8=fft(x4n); %计算x4n 的 8点DFT X5k8=fft(x5n); %计算x5n 的 8点DFT N=16;n=0:N-1; %FFT 的变换区间N=16 x4n=cos(pi*n/4);

x5n=cos(pi*n/4)+cos(pi*n/8);

X4k16=fft(x4n); %计算x4n 的 16点DFT X5k16=fft(x5n); %计算x5n 的 16点DFT

figure(3)

subplot(2,2,1);

stem(X4k8,'.'); %绘制8点 DFT 的幅频特性图title('(4a) 8点DFT[x_4(n)]');

xlabel('ω/π');

ylabel('幅度');

subplot(2,2,3);

stem(X4k16,'.'); %绘制16点 DFT的幅频特性图title('(4b)16点DFT[x_4(n)]');

xlabel('ω/π');

ylabel('幅度');

subplot(2,2,2);

stem(X5k8,'.'); %绘制8点 DFT 的幅频特性图title('(5a) 8点DFT[x_5(n)]');

xlabel('ω/π');

ylabel('幅度');

tisubplot(2,2,4);

stem(X5k16,'.'); %绘制16点 DFT的幅频特性图title('(5b)16点DFT[x_5(n)]');

xlabel('ω/π');

ylabel('幅度');

运行结果图如下:

(3)模拟周期信号谱分析

实验程序:

Fs=64;T=1/Fs;

N=16;n=0:N-1; %FFT 的变换区间N=16

x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T); %对x6(t)16点采样X6k16=fft(x6nT); %计算x6nT的16点 DFT

X6k16=fftshift(X6k16); %将零频率移到频谱中心

Tp=N*T;F=1/Tp; %频率分辨率F

k=-N/2:N/2-1;fk=k*F; %产生16点DFT对应的采样点频率(以零频率为中心)subplot(3,1,1);

stem(fk,abs(X6k16),'.');

box on %绘制16点 DFT的幅频特性图

title('(6a) 16点|DFT[x_6(nT)]|');

xlabel('f(Hz)');

ylabel('幅度');

axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k16))]);

N=32;n=0:N-1; %FFT 的变换区间N=32

x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T); %对x6(t)32点采样

X6k32=fft(x6nT); %计算x6nT的32点 DFT

X6k32=fftshift(X6k32); %将零频率移到频谱中心 Tp=N*T;F=1/Tp; %频率分辨率F

k=-N/2:N/2-1;fk=k*F; %产生32点DFT对应的采样点频率(以零频率为中心)subplot(3,1,2);

stem(fk,abs(X6k32),'.');

box on %绘制32点 DFT的幅频特性图

title('(6b) 32点|DFT[x_6(nT)]|');

xlabel('f(Hz)');

ylabel('幅度');

axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k32))])

N=64;n=0:N-1; %FFT 的变换区间N=64

x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T); %对x6(t)64点采样

X6k64=fft(x6nT); %计算x6nT的64点 DFT

X6k64=fftshift(X6k64); %将零频率移到频谱中心

Tp=N*T;F=1/Tp; %频率分辨率F

k=-N/2:N/2-1;fk=k*F; %产生64点DFT对应的采样点频率(以零频率为中心)subplot(3,1,3);

stem(fk,abs(X6k64),'.');

box on%绘制64点 DFT的幅频特性图

title('(6a) 64点|DFT[x_6(nT)]|');

xlabel('f(Hz)');

ylabel('幅度');

axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k64))])

运行结果图:

实验四IIR 数字滤波器设计

1.实验目的

(1)熟悉用双线性变换法设计 IIR 数字滤波器的原理与方法;

(2)学会调用 MATLAB 信号处理工具箱中滤波器设计函数(或滤波器设计分析工具

fdatool)设计各种 IIR 数字滤波器,学会根据滤波需求确定滤波器指标参数。

(3)掌握 IIR 数字滤波器的 MATLAB 实现方法。

(3)通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念。

2.实验内容

(1)调用buttord 和butter 函数设计模拟低通巴特沃斯低通滤波器。设通带截止频率f c = 5kHz ,允许的最大衰减α p = 2dB ,阻带边缘频率f s =12kHz ,允许的最小衰

减αs= 30dB ,试设计模拟低通巴特沃斯低通滤波器。(教材P159,例 6.2.1)

实验程序

clc

% % 1)、给出技术指标

fp=5000; rp=1; fs=12000;rs=30;

wp=2*pi*fp;

ws=2*pi*fs;

% % 2)、确定巴特沃斯低通滤波器的阶数 N 以及 3dB 截止频率 wc

% %直接计算求巴特沃斯低通滤波器的阶数 N 以及 3dB 截止频率 wc

% k_sp=sqrt((10.^(0.1.*rs)-1)/(10.^(0.1.*rp)-1))%求 k_sp

% labmda_sp=ws/wp %求 labmda_sp

% N=ceil(log10(k_sp)/log10(labmda_sp)) %求阶数 N

% wc=wp*((10.^(0.1.*rp)-1).^(-1/(2*N))) %求 3dB 截止频率 wc

% % %或者调用 buttord 函数求巴特沃斯低通滤波器的阶数 N 以及 3dB 截止频率 wc [N,wc]=buttord(wp,ws, rp, rs,'s')

%调用 buttord 函数直接求巴特沃斯低通滤波器的阶数 N 以及 3dB 截止频率 wc

% %%3)、调用 buttord 函数直接求解实际的系统函数的系数

[b,a]=butter(N,wc,'s')

运行结果:

N =

5

wc =

3.7792e+004

b =

1.0e+022 *

0 0 0 0 0 7.7094

a =

1.0e+022 *

0.0000 0.0000 0.0000 0.0000 0.0007 7.7094

(2)用脉冲响应不变法和双线性法设计数字低通滤波器

设计低通数字滤波器,要求通带频率低于0.2π rad ,允许的最大衰减αp= 1dB ,在频

率0.3π到π 之间的阻带频率衰减大于15dB ,采样间隔T=1s, 试用脉冲响应不变法和双线性法设计数字滤波器。(教材P187,例 6.4.2)

实验程序:

clc

% % 1、根据数字技术指标求出模拟技术指标

T=1;

Fs=1/T;

wp=0.2*pi;

ws=0.3*pi;

rp=1;rs=15;

Omegap=(2/T)*tan(wp/2);

%根据用双线性变换法模拟频率与数字频率之间的关系Omega=(2/T)*tan(w/2) Omegas=(2/T)*tan(ws/2);

Omegap1=(wp/T);

%根据用脉冲响应不变换法模拟频率与数字频率之间的关系Omega=(w/T)

Omegas1=(ws/T);

% % 2、确定巴特沃斯低通滤波器的阶数N 以及3dB 截止频率wc

% % %调用buttord 函数求巴特沃斯低通滤波器的阶数N 以及3dB 截止频率wc [N,wc]=buttord(Omegap,Omegas, rp, rs,'s')

%调用buttord 函数直接求巴特沃斯低通滤波器的阶数N 以及3dB 截止频率wc [N1,wc1]=buttord(Omegap1,Omegas1, rp, rs,'s')

%调用buttord 函数直接求巴特沃斯低通滤波器的阶数N 以及3dB 截止频率wc

% % 3、求实际的系统函数

[b,a]=butter(N,wc,'s')

[b1,a1]=butter(N1,wc1,'s')

% % 4、用脉冲响应不变换法和双线性变换法将模拟系统函数转化为数字系统函数[bz,az]=bilinear(b,a,Fs)

[bz1,az1]=impinvar(b,a,Fs)

% % 5、作出该数字滤波器的幅度和相位图形

[H,f]=freqz(bz,az,256,Fs)

[H1,f]=freqz(bz1,az1,256,Fs)

% f = w/(2*pi)*Fs;

plot(f,20*log10(abs(H)),'-.',f,20*log10(abs(H1)),'-');

legend('脉冲响应不变法','双线性法')

axis([0,0.3,-80,10]);

grid on;

xlabel('频率/Hz ')

ylabel('幅值/dB')

实验五 FIR 滤波器设计

一、实验目的

1、掌握 MATLAB 软件的界面使用和各种功能。

2、掌握利用 MATLAB 进行 FIR 低通滤波器的设计

3、对含噪信号进行滤波

4、了解各种窗函数对滤波器特性的影响

二、实验内容

1、用窗函数法设计数字 FIR 低通滤波器,满足下列指标:

通带截止频率:wp=0.2*pi,通带最大衰减:Ap=0.25db

阻带截止频率: ws=0.3*pi,阻带最大衰减:As=50db 并通过一信号序列的验证。

实验程序如下:

wp=0.2*pi;wr=0.3*pi;

wid=wr-wp;

N=ceil(6.6*pi/wid)+1

n=[0:1:N-1];

wc=(wr+wp)/2

alpha=(N-1)/2;

m=n-alpha+eps;

hd=sin(wc*m)./(pi*m);

ham=(hamming(N))';

hn=hd.*ham;

[H,w]=freqz(hn,[1],1000,'whole'); Hn=(H(1:501))';wn=(w(1:501))';

mag=abs(Hn);

db=20*log10((mag+eps)/max(mag));

pha=angle(Hn);

del=2*pi/1000;

Rp=-(min(db(1:1:wp/del+1)))

As=-round(max(db((wr/del+1):1:501))) figure(1)

subplot(2,2,1);

plot(n,hd);

title('理想脉冲响应');

subplot(2,2,2);

plot(n,ham);

title('哈明窗');

subplot(2,2,3);

plot(n,hn);

title('实际脉冲响应');

subplot(2,2,4);

plot(wn/pi,db);

title('幅度响应(单位:DB)');

axis([0,1,-100,10]);

t=0:1/600:1;

x1=sin(2*pi*15*t);

x2=0.5*sin(2*pi*90*t);

x3=0.2*sin(2*pi*300*t);

sig=x1+x2+x3;

newsig=fftfilt(hn,sig);

figure(2)

subplot(2,1,1);

plot(sig);

title('mixed signal');

subplot(2,1,2);

plot(newsig);

title('filted signal');

运行结果图如下:

数字信号处理实验报告

语音信号的数字滤波 一、实验目的: 1、掌握使用FFT进行信号谱分析的方法 2、设计数字滤波器对指定的语音信号进行滤波处理 二、实验内容 设计数字滤波器滤除语音信号中的干扰(4 学时) 1、使用Matlab的fft函数对语音信号进行频谱分析,找出干扰信号的频谱; 2、设计数字滤波器滤除语音信号中的干扰分量,并进行播放对比。 三、实验原理 通过观察原语音信号的频谱,幅值特别大的地方即为噪声频谱分量,根据对称性,发现有四个频率的正弦波干扰,将它们分别滤掉即可。采用梳状滤波器,经过计算可知,梳状滤波器h[n]={1,A,1}的频响|H(w)|=|A+2cos(w)|,由需要滤掉的频率分量的频响w,即可得到A,进而得到滤波器的系统函数h[n]。而由于是在离散频域内进行滤波,所以令w=(2k*pi/N)即可。 对原信号和四次滤波后的信号分别进行FFT变换,可以得到它们的幅度相应。最后,将四次滤波后的声音信号输出。 四、matlab代码 clc;clear;close all; [audio_data,fs]=wavread('SunshineSquare.wav'); %读取未处理声音 sound(audio_data,fs); N = length(audio_data); K = 0:2/N:2*(N-1)/N; %K为频率采样点

%sound(audio_data,fs); %进行一次FFT变换 FFT_audio_data=fft(audio_data); mag_FFT_audio_data = abs(FFT_audio_data); %画图 figure(1) %原信号时域 subplot(2,1,1);plot(audio_data);grid; title('未滤波时原信号时域');xlabel('以1/fs为单位的时间');ylabel('采样值'); %FFT幅度相位 subplot(2,1,2);plot(K,mag_FFT_audio_data);grid; title('原信号幅度');xlabel('以pi为单位的频率');ylabel('幅度'); %构造h[n]={1,A,1}的梳状滤波器,计算A=2cosW,妻子W为要滤掉的频率%由原信号频谱可知要分四次滤波,滤掉频响中幅度大的频率分量 %第一次滤波 a = [1,0,0,0];%y[n]的系数 [temp,k]=max(FFT_audio_data); A1=-2*cos(2*pi*k/N); h1=[1,A1,1]; audio_data_h1 = filter(h1,a,audio_data); FFT_audio_data_h1=fft(audio_data_h1);

西电数字信号处理上机实验报告

数字信号处理上机实验报告 14020710021 张吉凯 第一次上机 实验一: 设给定模拟信号()1000t a x t e -=,t 的单位是ms 。 (1) 利用MATLAB 绘制出其时域波形和频谱图(傅里叶变换),估计其等效带宽(忽略谱分量降低到峰值的3%以下的频谱)。 (2) 用两个不同的采样频率对给定的()a x t 进行采样。 ○1()()15000s a f x t x n =以样本秒采样得到。 ()()11j x n X e ω画出及其频谱。 ○2()()11000s a f x t x n =以样本秒采样得到。 ()() 11j x n X e ω画出及其频谱。 比较两种采样率下的信号频谱,并解释。 (1)MATLAB 程序: N=10; Fs=5; T s=1/Fs; n=[-N:T s:N]; xn=exp(-abs(n)); w=-4*pi:0.01:4*pi; X=xn*exp(-j*(n'*w)); subplot(211) plot(n,xn); title('x_a(t)时域波形'); xlabel('t/ms');ylabel('x_a(t)'); axis([-10, 10, 0, 1]); subplot(212); plot(w/pi,abs(X)); title('x_a(t)频谱图'); xlabel('\omega/\pi');ylabel('X_a(e^(j\omega))');

ind = find(X >=0.03*max(X))*0.01; eband = (max(ind) -min(ind)); fprintf('等效带宽为%fKHZ\n',eband); 运行结果: 等效带宽为12.110000KHZ

数字信号处理上机考试试题参考

数字信号处理上机考试试题参考 1.对于由下列系统函数描述的线性时不变系统,求:(1)零-极点图;(2)输入)()3/cos(3)(n u n n x π=时的输出)(n y 。 (1),因果系统 (2),稳定系统 2.已知一个因果、线性、时不变系统由下列差分方程描述: )1()2()1()(-+-+-=n x n y n y n y (1)画出该系统的单位脉冲响应; (2)判断该系统是否稳定? 3.已知因果系统)(2)2(5.0)1(8.0)(n x n y n y n y +-+-= (1)画出零极点图;(2)画出)(ωj e H 的幅度和相位;(3)求脉冲响应)(n h 。 4.一个数字滤波器的差分方程为: )2(81.0)1(9.0)1()()(---+-+=n y n y n x n x n y (1)用freqz 函数画出该滤波器的幅频和相频曲线,注意在3/πω=和πω=时的幅度和相位值; (2)产生信号)cos( 5)3/sin()(n n n x ππ+=的200个点并使其通过滤波器,画出输出波形)(n y 。把输出的稳态部分与)(n x 比较,讨论滤波器如何影响两个正弦波的幅度和相位。 5.对于下列序列,计算(a )N 点循环卷积)()()(213n x n x n x N ?=,(b )线性卷积)(*)()(214n x n x n x =,(c )误差序列)()()(43n x n x n e -=。 (1)}1,1,1,1{)(1=n x ,)()4/cos()(62n R n n x π=;8=N (2)}1,1,1,1{)(1--=n x ,}0,1,0,1{)(2-=n x ;5=N (3))()/2cos()(161n R N n n x π=,)()/2sin()(162n R N n n x π=;32=N (4))()8.0()(101n R n x n =, )()8.0()(102n R n x n -=;15=N 6.给定序列)(1n x 和)(2n x 为: }2,1,1,2{)(1=n x ,}1,1,1,1{)(2--=n x (1)计算N=4,7,8时的循环卷积)()(21n x n x N ? (2)计算线性卷积)(*)(21n x n x ; (3)利用计算结果,求出在N 点区间上线性卷积和循环卷积相等所需要的最小N 值。 7. )(n x 是一8点序列: ???≤≤=其它,070,2)(n n x (1)计算离散时间傅里叶变换(DTFT ) )(ωj e X ,并且画出它的幅度和相位。

数字信号处理上机实验代码

文件名:tstem.m(实验一、二需要) 程序: f unction tstem(xn,yn) %时域序列绘图函数 %xn:被绘图的信号数据序列,yn:绘图信号的纵坐标名称(字符串)n=0:length(xn)-1; stem(n,xn,'.'); xlabel('n');ylabel('yn'); axis([0,n(end),min(xn),1.2*max(xn)]); 文件名:tplot.m(实验一、四需要) 程序: function tplot(xn,T,yn) %时域序列连续曲线绘图函数 %xn:信号数据序列,yn:绘图信号的纵坐标名称(字符串) %T为采样间隔 n=0;length(xn)-1;t=n*T; plot(t,xn); xlabel('t/s');ylabel(yn); axis([0,t(end),min(xn),1.2*max(xn)]); 文件名:myplot.m(实验一、四需要)

%(1)myplot;计算时域离散系统损耗函数并绘制曲线图。function myplot(B,A) %B为系统函数分子多项式系数向量 %A为系统函数分母多项式系数向量 [H,W]=freqz(B,A,1000) m=abs(H); plot(W/pi,20*log10(m/max(m)));grid on; xlabel('\omega/\pi');ylabel('幅度(dB)') axis([0,1,-80,5]);title('损耗函数曲线'); 文件名:mstem.m(实验一、三需要) 程序: function mstem(Xk) %mstem(Xk)绘制频域采样序列向量Xk的幅频特性图 M=length(Xk); k=0:M-1;wk=2*k/M;%产生M点DFT对应的采样点频率(关于pi归一化值) stem(wk,abs(Xk),'.');box on;%绘制M点DFT的幅频特性图xlabel('w/\pi');ylabel('幅度'); axis([0,2,0,1.2*max(abs(Xk))]); 文件名:mpplot.m(实验一需要)

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

数字信号处理实验报告 实验名称: 实验八 双线性变换法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 的计算方法与冲激响应不变法相同,

数字信号处理作业DOC

成绩: 《数字信号处理》作业与上机实验 (第三四章) 班级: 13-电信 学号: 姓名: 任课老师:李宏民 完成时间: 15.11.08 信息与通信工程学院 2015—2016学年第1学期

第3-4章 离散傅里叶变换及快速算法与应用 一、实验内容及要求: 1、对信号在x(n)={1,2,3,4,5,6,7,8},n=0,1,2....7,求其N=8点的DFT 。要求采用基于时间抽取算法编写FFT 实现程序,画出DFT 幅度谱与相位谱,并将计算结果与用MATLAB 自带的FFT 函数计算结果进行比较。 2、一个由40Hz 和100 Hz 正弦信号构成的信号,受零均值随机噪声的干扰(噪声服从标准正态分布,由randn 函数产生,n(t)= randn(m,n) 返回一个m*n 的随机矩阵),即()sin(2100)sin(240)()s t t t n t ππ=++g g 。数据 采样率为500Hz ,试用FFT 函数来分析其信号频率成分。 ① 求其幅度频谱,从频谱图(横坐标以HZ 为单位,用plot 函数画图)中能否观察出信号的2个频率分量? ② 提高采样点数,再求该信号的幅度频谱图,此时幅度频谱发生了什么变化?信号的2个模拟频率和数字频率各为多少?FFT 频谱分析结果与理论上是否一致? 3、研究高密度频谱与高分辨率频谱。频率分辨率是指所用的算法能将信号中两个靠得很近的谱峰分开的能力。信号末尾补零由于没有对原信号增加任何新的信息,因此不能提高频率分辨率,但可以减小栅栏效应,所得到的频谱称为高密度频谱。在维持采样频率不变的情况下,为提高分辨率只能增加采样点数N ,此时所得到的频谱称为高分辨率频谱。设有连续信号 ) 1092cos()1072cos()105.62cos()(333t t t t x a ??π+??π+??π=

数字信号处理上机实验(第三版)

数字信号处理实验(Matlab) 实验一: 系统响应及系统稳定性 %实验1:系统响应及系统稳定性 close all;clear all %======内容1:调用filter解差分方程,由系统对u(n)的响应判断稳定性====== A=[1,-0.9];B=[0.05,0.05]; %系统差分方程系数向量B和A x1n=[1 1 1 1 1 1 1 1 zeros(1,50)]; %产生信号x1(n)=R8(n) x2n=ones(1,128); %产生信号x2(n)=u(n) hn=impz(B,A,58); %求系统单位脉冲响应h(n) subplot(2,2,1);y='h(n)';tstem(hn,y); %调用函数tstem绘图 title('(a)系统单位脉冲响应h(n)');box on y1n=filter(B,A,x1n); %求系统对x1(n)的响应y1(n) subplot(2,2,2);y='y1(n)';tstem(y1n,y); title('(b)系统对R8(n)的响应y1(n)');box on y2n=filter(B,A,x2n); %求系统对x2(n)的响应y2(n) subplot(2,2,4);y='y2(n)';tstem(y2n,y); title('(c)系统对u(n)的响应y2(n)');box on %===内容2:调用conv函数计算卷积============================ x1n=[1 1 1 1 1 1 1 1 ]; %产生信号x1(n)=R8(n) h1n=[ones(1,10) zeros(1,10)]; h2n=[1 2.5 2.5 1 zeros(1,10)];

数字信号处理上机报告-一

数字信号处理上机报告-一

数字信号处理第一次上机实验报告 实验一: 设给定模拟信号()1000t a x t e -=,的单位是ms 。 (1) 利用MATLAB 绘制出其时域波形和频谱图(傅里叶变换),估计其等效带宽(忽略谱分量降低到峰值的3%以下的频谱)。 (2) 用两个不同的采样频率对给定的进行采样。 ○1 。 ○2 。 比较两种采样率下的信号频谱,并解释。 实验一MATLAB 程序: (1) N=10; Fs=5; Ts=1/Fs; n=[-N:Ts:N]; xn=exp(-abs(n)); w=-4*pi:0.01:4*pi; X=xn*exp(-j*(n'*w)); subplot(211) plot(n,xn); title('x_a(t)时域波形'); xlabel('t/ms');ylabel('x_a(t)'); t ()a x t ()()15000s a f x t x n =以样本秒采样得到。()()11j x n X e ω画出及其频谱()()11000s a f x t x n =以样本秒采样得到。()() 11j x n X e ω画出及其频谱

axis([-10, 10, 0, 1]); subplot(212); plot(w/pi,abs(X)); title('x_a(t)频谱图'); xlabel('\omega/\pi');ylabel('X_a(e ^(j\omega))'); ind = find(X >=0.03*max(X))*0.01; eband = (max(ind) -min(ind)); fprintf('等效带宽为 %fKHZ\n',eband); 运行结果:

matlab作业1

实验任务 XXXXXX (1)阅读例子程序,观察输出波形,理解每条语句的含义。 (2)已知有限长序列x(n)=[7,6,5,4,3,2],求DFT和IDFT,要求:画出序列傅立叶变换对应的幅度谱和相位谱;画出原信号与傅立叶逆变换IDFT[X(k)]的图形进行比较。(3)已知周期序列的主值x(n)=[7,6,5,4,3,2],求x(n)周期重复次数为3次时的DFS和IDFS。要求:画出原信号序列的主值和周期序列的图形;画出离散傅立叶变换对应的幅度谱和相位谱。 (4)求x(n)=[7,6,5,4,3,2], 0=

数字信号处理实验

数字信号处理实验讲义

前言 (2) 实验一MATLAB简介 (3) 实验二用FFT实现信号的谱分析 (5) 实验三IIR数字巴特沃思滤波器的设计 (8) 实验四FIR数字滤波器的设计 (9)

前言 信号处理与计算机的应用紧密结合。目前广泛应用的MA TLAB工具软件包,以其强大的分析、开发及扩展功能为信号处理提供了强有力的支持。在数字信号处理实验中,我们主要应用MA TLAB的信号处理工具箱及其灵活、便捷的编程工具,通过上机实验,帮助学生学习、掌握和应用MA TLAB软件对信号处理所学的内容加以分析、计算,加深对信号处理基本算法的理解。

实验一 MATLAB 简介 实验目的 1.熟悉MATLAB 软件的使用方法; 2.MA TLAB 的绘图功能; 3.用MA TLAB 语句实现信号的描述及变换。 实验原理 1.在MA TLAB 下编辑和运行程序 在MA TLAB 中,对于简单问题可以在命令窗(command windows )直接输入命令,得到结果;对于比较复杂的问题则可以将多个命令放在一个脚本文件中,这个脚本文件是以m 为扩展名的,所以称之为M 文件。用M 文件进行程序的编辑和运行步骤如下: (1)打开MA TLAB ,进入其基本界面; (2)在菜单栏的File 项中选择新建一个M 文件; (3)在M 文件编辑窗口编写程序; (4)完成之后,可以在编辑窗口利用Debug 工具调试运行程序,在命令窗口查看输出结果;也可以将此文件保存在某个目录中,在MATLAB 的基本窗口中的File 项中选择Run The Script ,然后选择你所要运行的脚本文件及其路径,即可得出结果;也可以将此文件保存在当前目录中,在MA TLAB 命令窗口,“>>”提示符后直接输入文件名。 2.MA TLAB 的绘图功能 plot(x,y) 基本绘图函数,绘制 x 和y 之间的坐标图。 figure(n ) 开设一个图形窗口n subplot(m,n,N) 分割图形窗口的MATLAB 函数,用于在一个窗口中显示多个图形,将图形窗口分为m 行n 列,在第N 个窗口内绘制图形。 axis([a0,b0,a1,b1] ) 调整坐标轴状态 title(‘ ’) 给图形加题注 xlabel (‘ ‘) 给x 轴加标注 ylabel (‘ ‘) 给y 轴加标注 grid 给图形加网格线 3.信号描述及变换 信号描述及变换包括连续时间信号和离散时间信号内容,详细内容请见课本第1章、第2章。 实验内容 1.上机运行教材1.6节、2.7节部分例题程序。 2.试用MATLAB 绘制出下列信号的波形: (1) t e t x 5.11)(-=; (2) )5.0sin(3)(2t t x π=

数字信号处理上机实验答案(全)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)给定一个低通滤波器的差分方程为

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

实验一、离散时间系统及离散卷积 1、单位脉冲响应 源程序: function pr1() %定义函数pr1 a=[1,-1,0.9]; %定义差分方程y(n)-y(n-1)+0.9y(n-2)=x(n) b=1; x=impseq(0,-40,140); %调用impseq函数 n=-40:140; %定义n从-40 到140 h=filter(b,a,x); %调用函数给纵座标赋值 figure(1) %绘图figure 1 (冲激响应) stem(n,h); %在图中绘出冲激 title('冲激响应'); %定义标题为:'冲激响应' xlabel('n'); %绘图横座标为n ylabel('h(n)'); %绘图纵座标为h(n) figure(2) %绘图figure 2 [z,p,g]=tf2zp(b,a); %绘出零极点图 zplane(z,p) function [x,n]=impseq(n0,n1,n2)%声明impseq函数 n=[n1:n2]; x=[(n-n0)==0]; 结果: Figure 1: Figure 2:

2、离散系统的幅频、相频的分析 源程序: function pr2() b=[0.0181,0.0543,0.0543,0.0181]; a=[1.000,-1.76,1.1829,-0.2781]; m=0:length(b)-1; %m从0 到3 l=0:length(a)-1; %l从0 到3 K=5000; k=1:K; w=pi*k/K; %角频率w H=(b*exp(-j*m'*w))./(a*exp(-j*l'*w));%对系统函数的定义 magH=abs(H); %magH为幅度 angH=angle(H); %angH为相位 figure(1) subplot(2,1,1); %在同一窗口的上半部分绘图 plot(w/pi,magH); %绘制w(pi)-magH的图形 grid; axis([0,1,0,1]); %限制横纵座标从0到1 xlabel('w(pi)'); %x座标为 w(pi) ylabel('|H|'); %y座标为 angle(H) title('幅度,相位响应'); %图的标题为:'幅度,相位响应' subplot(2,1,2); %在同一窗口的下半部分绘图 plot(w/pi,angH); %绘制w(pi)-angH的图形 grid; %为座标添加名称

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

数字信号处理作业实验题报告 第一章16.(1) 实验目的: 求解差分方程所描述的系统的单位脉冲响应和单位阶跃响应。 实验要求: 运用matlab求出y(n)=0.6y(n-1)-0.08y(n-2)+x(n)的单位脉冲响应和单位阶跃响应的示意图。 源程序: B1=1;A1=[1, -0.6, 0.08]; ys=2; %设差分方程 xn=[1, zeros(1, 20)]; %xn=单位脉冲序列,长度N=31 xi=filtic(B1, A1, ys); hn1=filter(B1, A1, xn, xi); %求系统输出信号hn1 n=0:length(hn1)-1; subplot(2, 1, 1);stem(n, hn1, '.') title('单位脉冲响应'); xlabel('n');ylabel('h(n)') xn=ones(1, 20); sn1=filter(B1, A1, xn, xi); %求系统输出信号sn1 n=0:length(sn1)-1; Subplot(2, 1, 2); stem(n, sn1, '.') title('单位阶跃响应'); xlabel('n'); ylabel('s(n)')

运行结果: 实验分析: 单位脉冲响应逐渐趋于0,阶跃响应保持不变,由此可见,是个稳定系统。

第二章31题 实验目的: 用matlab判断系统是否稳定。 实验要求: 用matlab画出系统的极,零点分布图,输入单位阶跃序列u(n)检查系统是否稳定。 源程序: A=[2, -2.98, 0.17, 2.3418, -1.5147]; B=[0, 0, 1, 5, -50]; subplot(2,1,1); zplane(B,A); %求H(z)的极点 p=roots(A); %求H(z)的模 pm=abs(p); if max(pm)<1 disp('系统因果稳定'), else,disp('系统因果不稳定'),end un=ones(1,800); sn=filter(B, A, un); n=0:length(sn)-1; subplot(2, 1, 2);plot(n, sn) xlabel('n');ylabel('s(n)')

数字信号处理上机第一次实验

数字信号处理上机第一次实验 实验一: 设给定模拟信号()1000t a x t e -=,t 的单位是ms 。 (1) 利用MATLAB 绘制出其时域波形和频谱图(傅里叶变换),估计其等效带宽(忽略谱分 量降低到峰值的3%以下的频谱)。 (2) 用两个不同的采样频率对给定的()a x t 进行采样。 ○1()()15000s a f x t x n =以样本秒采样得到。 ()()11j x n X e ω画出及其频谱。 ○2()()1 1000s a f x t x n =以样本秒采样得到。 ()() 11j x n X e ω画出及其频谱。 比较两种采样率下的信号频谱,并解释。 实验一MA TLAB 程序: (1) N=10; Fs=5; Ts=1/Fs; n=[-N:Ts:N]; xn=exp(-abs(n)); w=-4*pi:0.01:4*pi; X=xn*exp(-j*(n'*w)); subplot(211) plot(n,xn); title('x_a(t)时域波形'); xlabel('t/ms');ylabel('x_a(t)'); axis([-10, 10, 0, 1]); subplot(212); plot(w/pi,abs(X)); title('x_a(t)频谱图'); xlabel('\omega/\pi');ylabel('X_a(e^(j\omega))'); ind = find(X >=0.03*max(X))*0.01; eband = (max(ind) -min(ind)); fprintf('等效带宽为 %fKHZ\n',eband); 运行结果:

哈工大数字信号处理实验报告

实验一: 用FFT 作谱分析 实验目的: (1) 进一步加深DFT 算法原理和基本性质的理解(因为FFT 只是DFT 的一种快速算法, 所以FFT 的运算结果必然满足DFT 的基本性质)。 (2) 熟悉FFT 算法原理和FFT 子程序的应用。 (3) 学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT 。 实验原理: DFT 的运算量: 一次完整的DFT 运算总共需要2N 次复数乘法和(1)N N -复数加法运算,因而 直接计算DFT 时,乘法次数和加法次数都和2N 成正比,当N 很大时,运算量很客观的。例如,当N=8时,DFT 运算需64位复数乘法,当N=1024时,DFT 运算需1048576次复数乘法。而N 的取值可能会很大,因而寻找运算量的途径是很必要的。 FFT 算法原理: 大多数减少离散傅里叶变换运算次数的方法都是基于nk N W 的对称性和周期 性。 (1)对称性 ()*()k N n kn kn N N N W W W --==

(2)周期性 ()(mod`)()()kn N kn n N k n k N N N N N W W W W ++=== 由此可得 ()()/2 (/2)1 n N k N n k nk N N N N N k N k N N W W W W W W ---+?==?=-??=-? 这样: 1.利用第三个方程的这些特性,DFT 运算中有些项可以合并; 2.利用nk N W 的对称性和周期性,可以将长序列的DFT 分解为短序列的DFT 。 前面已经说过,DFT 的运算量是与2N 成正比的,所以N 越小对计算越有利, 因而小点数序列的DFT 比大点数序列的DFT 运算量要小。 快速傅里叶变换算法正是基于这样的基本思路而发展起来的,她的算法基本 上可分成两大类,即按时间抽取法和按频率抽取法。 我们最常用的是2M N =的情况,该情况下的变换成为基2快速傅里叶变换。 完成一次完整的FFT 计算总共需要 2log 2 N N 次复数乘法运算和2log N N 次复数加法运算。很明显,N 越大,FFT 的优点就越突出。 实验步骤 (1) 复习DFT 的定义、 性质和用DFT 作谱分析的有关内容。 (2) 复习FFT 算法原理与编程思想, 并对照DIT-FFT 运算流图和程序框图, 读懂本实验提供的FFT 子程序。 (3) 编制信号产生子程序, 产生以下典型信号供谱分析用:

数字信处理上机作业终审稿)

数字信处理上机作业文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-

数字信号处理上机作业 学院:电子工程学院 班级: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;

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

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

第十章上机实验 数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。本章在第二版的基础上编写了六个实验,前五个实验属基础理论实验,第六个属应用综合实验。 实验一系统响应及系统稳定性。 实验二时域采样与频域采样。 实验三用FFT对信号作频谱分析。 实验四 IIR数字滤波器设计及软件实现。 实验五 FIR数字滤波器设计与软件实现 实验六应用实验——数字信号处理在双音多频拨号系统中的应用 任课教师根据教学进度,安排学生上机进行实验。建议自学的读者在学习完第一章后作实验一;在学习完第三、四章后作实验二和实验三;实验四IIR数字滤波器设计及软件实现在。学习完第六章进行;实验五在学习完第七章后进行。实验六综合实验在学习完第七章或者再后些进行;实验六为综合实验,在学习完本课程后再进行。 functiontstem(xn,yn) %时域序列绘图函数 %xn:信号数据序列,yn:绘图信号的纵坐标名称(字符串) n=0:length(xn)-1; stem(n,xn,'.');boxon xlabel('n');ylabel(yn); axis([0,n(end),min(xn),*max(xn)]) 实验一: 系统响应及系统稳定性 1.实验目的 (1)掌握求系统响应的方法。 (2)掌握时域离散系统的时域特性。 (3)分析、观察及检验系统的稳定性。 2.实验原理与方法 在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。在计算机上适合用递推法求差分方程的解,最简单的方法是采用MATLAB语言的工具箱函数filter函数。也可

数字信号处理上机报告-一

数字信号处理第一次上机实验报告 实验一: 设给定模拟信号()1000t a x t e -=,的单位是ms 。 (1)利用MATLAB 绘制出其时域波形和频谱图(傅里叶变换),估计其等效带宽(忽略谱分量降低到峰值的3%以下的频谱)。 (2)用两个不同的采样频率对给定的进行采样。 ○1 。 ○2 。 比较两种采样率下的信号频谱,并解释。 实验一MATLAB 程序: (1) N=10; Fs=5; Ts=1/Fs; n=[-N:Ts:N]; xn=exp(-abs(n)); w=-4*pi:0.01:4*pi; X=xn*exp(-j*(n'*w)); subplot(211) plot(n,xn); title('x_a(t)时域波形'); xlabel('t/ms');ylabel('x_a(t)'); axis([-10, 10, 0, 1]); subplot(212); plot(w/pi,abs(X)); title('x_a(t)频谱图'); xlabel('\omega/\pi');ylabel('X_a(e^(j\omega))'); ind = find(X >=0.03*max(X))*0.01; eband = (max(ind) -min(ind)); fprintf('等效带宽为 %fKHZ\n',eband); 运行结果: t ()a x t ()()15000s a f x t x n =以样本秒采样得到。()()11j x n X e ω画出及其频谱()()11000s a f x t x n =以样本秒采样得到。()() 11j x n X e ω画出及其频谱

数字信号管理组织上机作业任务

数字信号处理上机作业

学院:电子工程学院 班级: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ω)|的变化,并做记录(打印曲线);进一步降低

数字信号处理上机实验答案(第三版)

实验1:系统响应及系统稳定性 实验程序清单: close all;clear all %======容1:调用filter解差分方程,由系统对u(n)的响应判断稳定性====== A=[1,-0.9];B=[0.05,0.05]; %系统差分方程系数向量B和A x1n=[1 1 1 1 1 1 1 1 zeros(1,50)]; %产生信号x1(n)=R8(n) x2n=ones(1,128); %产生信号x2(n)=u(n) hn=impz(B,A,58); %求系统单位脉冲响应h(n) subplot(2,2,1);y='h(n)';stem(hn, 'y'); %调用函数tstem绘图 title('(a) 系统单位脉冲响应h(n)'); y1n=filter(B,A,x1n); %求系统对x1(n)的响应y1(n) subplot(2,2,2);y='y1(n)';stem(y1n,'y'); title('(b) 系统对R8(n)的响应y1(n)'); y2n=filter(B,A,x2n); %求系统对x2(n)的响应y2(n) subplot(2,2,4);y='y2(n)';stem(y2n,'y'); title('(c) 系统对u(n)的响应y2(n)'); %===容2:调用conv函数计算卷积============================ x1n=[1 1 1 1 1 1 1 1 ]; %产生信号x1(n)=R8(n) h1n=[ones(1,10) zeros(1,10)]; h2n=[1 2.5 2.5 1 zeros(1,10)]; y21n=conv(h1n,x1n); y22n=conv(h2n,x1n); figure(2) subplot(2,2,1);y='h1(n)';stem(h1n,'y'); %调用函数tstem绘图 title('(d) 系统单位脉冲响应h1(n)'); subplot(2,2,2);y='y21(n)'; stem(y21n,'y'); title('(e) h1(n)与R8(n)的卷积y21(n)'); subplot(2,2,3);y='h2(n)'; stem(h2n, 'y'); %调用函数tstem绘图 title('(f) 系统单位脉冲响应h2(n)'); subplot(2,2,4);y='y22(n)';stem(y22n,'y'); title('(g) h2(n)与R8(n)的卷积y22(n)'); %=========容3:谐振器分析======================== un=ones(1,256); %产生信号u(n) n=0:255; xsin=sin(0.014*n)+sin(0.4*n); %产生正弦信号 A=[1,-1.8237,0.9801];B=[1/100.49,0,-1/100.49]; %系统差分方程系数向量B和A y31n=filter(B,A,un); %谐振器对u(n)的响应y31(n) y32n=filter(B,A,xsin); %谐振器对u(n)的响应y31(n) figure(3) subplot(2,1,1);y='y31(n)';stem(y31n,'y'); title('(h) 谐振器对u(n)的响应y31(n)'); subplot(2,1,2);y='y32(n)';stem(y32n,'y'); title('(i) 谐振器对正弦信号的响应y32(n)');

相关主题
文本预览
相关文档 最新文档