数字信号处理报告

数字信号处理报告
数字信号处理报告

《数字信号处理》

设计一信号的基本运算

【一】设计目的

熟悉信号的基本运算,通过仿真结果加深理解。

【二】设计内容

1.现有一段以采样频率8192Hz采样得到的语音数据x(k),为了模仿出回音的效果,可以对数据进行如下处理:x(k)=x(k)+a*x(k-d),其中d为时延,a为时延信号的衰减幅度。根据上述原理,进行仿真实验,并演示回声的效果。(参数:时延d=0.4秒,衰减幅度a=0.5)

2.对上述语音信号进行时间反转x(-k)、上采样x(2k)、下采样x(k/2)操作,并演示这些运算的效果。

【三】设计过程,调试,分析。

数字信号处理的主要研究对象是语音信号和图像信号,语音信号的研究可以从时域和

频域两个方面来进行。其中时域的分析处理有两种方法: 一种是进行语音信号分析, 这属于线性处理的范畴,主要是通过信号的加减、时移、倍乘、卷积、求相关函数等来实现; 另一种是生成和变换成各种调制信号, 这属于非线性的范畴,主要是对信号平均累加器的动

态范围进行压缩扩张, 用门限方法对噪声的抑制。对频域分析处理, 即对信号的频率特性在频谱中加以分析研究, 这拓展了信号分析的范围, 是对不确定信号分析的主要方法。在实际应用中, 信号的时域频分析经常同时进行。

1 语音信号的采集与时频分析

1. 1 语音信号的采集

利用 PC 机上的声卡和WINDOWS操作系统可以进行数字信号的采集。将话筒输入计算机的语音输入插口上, 启动录音机。按下录音按钮, 接着对话筒说话/大家好0 ,说完后停止录音, 屏幕左侧将显示所录声音的长度。点击放音按钮,可以实现所录音的重现。以文件名/ dajiahao0 保存入 g:\MATLAB\ work中。可以看到, 文件存储器的后缀默认wav。

在 Matlab 软件平台下可以利用函数wavread对语音信号进行采样,得到了声音数据变量x,同时把x的采样频率Fs= 8000Hz和数据位Nbits= 8Bit放进了MATALB的工作空间。其程序如下

Fs= 8000Hz; % 给出抽样频率

Nbits= 8Bit; % 放入数据位

[ x, fs, Nbits] = wavread(- g: \ Matlab \ wor k \ chaotian.wav ) ; % 把语音信号进行加载入 Matlab 仿真软件平台中

sound( x, fs) ; % 对加载的语音信号进行回放

stem( x) ; title(‘ 语音信号的时域波形’) ;

1. 2 语音信号的时域分析

因录音采样频率无法准确。故用余弦序列表示信号的迟延,反转,上采样下采样。

迟延:

题目要求时延d为0.4s.取点数k为0.4*Fs。产生一组新序列将原序列依次推后k点。

【四】程序清单与运行结果

程序清单:

y=load('E:\erf1s1t0');

fs=8192;

n=length(y);

m=n+round(0.4*fs);

q=(m-1)/fs;

l=round(0.4*fs);

z=zeros(1,m);

x=z;

for i=1:n x(i)=y(i);end %原信号

for i=1:n z(l+i)=y(i);end %信号的延拖

o=x+0.4*z; %回声信号

sound(o) %声音

t=0:1/fs:q ;

subplot(3,1,1);

plot(t,x)

title('原信号');

subplot(3,1,2);

plot(t,z)

title('时延信号');

subplot(3,1,3);

plot(t,o)

title('回声信号');

运行结果:

翻转:

K为序列长度,将序列第i个点值依次与第k-i点值进行调换产生新序列,即为翻转序列。

采样:

下采样,也就是对信号的抽取。其实,上采样和下采样都是对数字信号进行重采,重采的采样率与原来获得该数字信号的采样率比较,大于原信号的称为上采样,小于的则称为下采样。上采样的实质也就是内插或插值。

程序清单:

%对上述语音信号进行时间反转x(-k)、上采样x(2k)、下采样x(k/2)操作

data=load('E:\erf1s1t0');

x=data; %原声信号

d=0.4; %d为时延

Fs=8192; %Fs为采样频率

k=0.4*8192;

a=0.5; %a为时延信号的衰减幅度

z=linspace(0,0,k); %linspace为线性间隔的向量

y=[z x'];

x=[x' z];

f=x+a*y; %回声信号

f1=fliplr(x); %翻转信号

f2=downsample(x,2); %下采样信号

f3=upsample(x,2); %上采样信号

subplot(4,1,1);

plot(x);title('原声信号')

subplot(4,1,2);

plot(f1);title('翻转信号')

subplot(4,1,3);

plot(f2);title('下采样')

subplot(4,1,4);

plot(f3);title('上采样')

sound(f1)

运行结果:

设计二正余弦信号的谱分析

【一】设计目的

用DFT实现对正余弦信号的谱分析;

观察DFT长度和窗函数长度对频谱的影响;

对DFT 进行谱分析中的误差现象获得感性认识。 【二】设计内容

1.对一个频率为10Hz ,采样频率为64Hz 的32点余弦序列进行谱分析,画出其频谱图;若将频率改为11Hz ,其他参数不变,重新画出该序列的频谱图,观察频率泄漏现象,分析原因。

2.考察DFT 的长度对双频率信号频谱分析的影响。设待分析的信号为

150)

2sin()2sin(5.0)(21≤≤+=n n f n f n x ππ (1.2)

令两个长度为16的正余弦序列的数字频率为22.01=f 及34.02=f 。取N 为四个不同值16,32,64,128。画出四个DFT 幅频图,分析DFT 长度对频谱分辨率的影响。

3.在上题中若把两个正弦波的频率取得较近,令22.01=f ,25.02=f ,试问怎样选择FFT 参数才能在频谱分析中分辨出这两个分量? 【三】设计过程,调试,分析。

连续信号的频谱分析在工程上有着广泛的应用,计算机的第一步就是把连续信号离散化,一是采样,二是截断。由此会产生频率混叠误差、栅栏效应和截断误差。

(一) 对一个频率为10Hz ,和11Hz ,采样频率为64Hz 的32点余弦序列用Matlab 计算它的DFT

程序为

N=32;Fs=64;f=10; n=0:N-1;

x=cos(2*pi*10*n/64) y=cos(2*pi*11*n/64) subplot(2,1,1) X=abs(fft(x,N)) stem(n,X,'.');

xlabel('n');title('10HZ 32点变化幅频曲线') subplot(2,1,2) Y=abs(fft(y,N)) stem(n,Y,'.');

xlabel('n');title('11HZ 32点变化幅频曲线')

运行结果:

通过图可看出:频率为10Hz的余弦曲线DFT只有两个点不等于零,位于k=5和k=27处,k=5对应于频率10Hz,k=27对应于频率54Hz(也就是-10Hz)。这样DFT确实正确的分辨了余弦信号的频率。但是这样的理想结果是恰巧得到的,此时我们借去了五个完整的余弦周期

(f*N/Fs=5).

将频率改为11Hz,采样频率和窗长度依然为32点,计算图像可看出:频谱图上k=5和k=27处都有较大的峰值,而其它的点上幅度不再为零。这两个峰值对应的频率为10Hz和12Hz,所以,信号的峰值位于两者之间,本来是单一的11Hz频率的能量会分不到许多DFT频率上,这种现象叫频率泄露,来源于截断效应。

(二)对双信号的频谱分析程序为:

16点,32点,64点,128点的频谱分析程序:

N=16;n=0:15;

f1=0.22;f2=0.34;

x=0.5*sin(2*pi*f1*n)+sin(2*pi*f2*n);

subplot(4,2,1),stem(n,x,'.');

%xlable('n'); ylable('x1(n)');

title('余弦序列');

X=abs(fft(x,N));

subplot(4,2,2)

k=0:N-1;

stem(k,X,'.')

%xlable('k');ylable('X(k)')

string=[num2str(N),'点FFT幅频曲线']; title(string);

N=32;n=0:15;

f1=0.22;f2=0.34;

x=0.5*sin(2*pi*f1*n)+sin(2*pi*f2*n); subplot(4,2,3),stem(n,x,'.')

%xlable('n'); ylable('x1(n)');

title('余弦序列');

X=abs(fft(x,N));

subplot(4,2,4)

k=0:N-1;

stem(k,X,'.')

%xlable('k');ylable('X(k)')

string=[num2str(N),'点FFT幅频曲线']; title(string);

N=64;n=0:15;

f1=0.22;f2=0.34;

x=0.5*sin(2*pi*f1*n)+sin(2*pi*f2*n); subplot(4,2,5),stem(n,x,'.')

%xlable('n'); ylable('x1(n)');

title('余弦序列');

X=abs(fft(x,N));

subplot(4,2,6)

k=0:N-1;

stem(k,X,'.')

%xlable('k');ylable('X(k)')

string=[num2str(64),'点FFT幅频曲线']; title(string);

N=128;n=0:15;

f1=0.22;f2=0.34;

x=0.5*sin(2*pi*f1*n)+sin(2*pi*f2*n); subplot(4,2,7),stem(n,x,'.')

%xlable('n'); ylable('x1(n)');

title('余弦序列');

X=abs(fft(x,N));

subplot(4,2,8)

k=0:N-1;

stem(k,X,'.')

%xlable('k');ylable('X(k)')

string=[num2str(128),'点FFT幅频曲线'];

title(string); 运行结果:

分析:DFT 样本值就是其DTFT 在相应位置的采样。

在图一中很难看出两个峰值,因此要提高它的分辨率,故把N 增大,逐渐可以看出它有两个峰值,将k 换算成数字频率f=w/2*pi=k/N.这样可确定峰值的位置大体在f=0.21和0.35之附近,与信号的给定频率有一定的误差,这也是截断和泄露带来的问题,在这图上还可以看到一些较小的峰,这是很难判断是输入信号固有的,还是由泄露引起的。

说明了增加DFT 长度N 减小了相邻样本间的频率间距,提高频谱的视在分辨率,因而可以提高样本未知的测定精度。

(三) 把两个正弦波的频率取得较近,另fr=[0.22,0.25]应怎样选择FFT 参数

要能分清两个频率,分辨率至少应达到f=0.03.因为此处的数字频率是对采样频率Fs 进行归一化后的,几fr 最大为1,因此总的样本数至少要达到1/0.03=33

加窗以后可以使频谱函数更加光滑,便于分辨峰值位置和准确的数值,为了提高实际分辨率,应该尽量增加信号的长度n 及DF 长度N,当受到条件限制不能提高n ,则单独提高N 可以提高视在分辨率。

当22.01=f ,25.02=f 时,16点,32点,64点,128点的频谱运行结果:

(四)谱分析中的误差现象

①混叠误差。产生混叠误差的原因是:信号的离散化是通过抽样实现的,而抽样频率再高总是有限的。除带限信号外,如果信号的最高频率Ω趋于无穷,则实际器件无法满足抽样定理。而抽样过程如果不满足抽样定理,就会产生频谱的混叠,即混叠误差。要减少或避免混叠误差,应该提高抽样频率,以设法满足抽样定理,或者采用抗混叠滤波这样的信号预处理措施。

②栅栏效应。对于非周期信号来说,理论上应具有连续的频谱,但数字谱分析是用DFT 来近似的,是用频谱的抽样值逼近连续频谱值,只能观察到有限个频谱值,每一个间隔中的频谱都观察不到。如同通过“栅栏”观察景物一样,一部分被“栅栏”所阻挡,看不见,把这种现象称为栅栏效应。连续时间信号只要采用数字谱分析的方法,就必定产生栅栏效应,栅栏效应只能减小而无法避免。能够感受的频谱最小间隔值,称为频谱分辨率,而频率分辨率与信号截断长度成反比,且频率分辨率越小,插值效果越好。因此即使连续信号是有限时间的,也应选择一个大的截断长度来改善栅栏效应。

③截断误差。截断误差是由于对信号进行截断,把无限长的信号限定为有限长,即令有限区间以外的函数值均为零值的近似处理而产生的,这种处理相当于用一个矩形(窗)信号乘待分析的连续时间信号。必然会引起吉布斯效应(波动),也会把窗函数的频谱引入信号频谱 ,造成混叠,所以需要考虑其误差的问题。

设计三数字滤波器的设计及实现

【一】设计目的

1.熟悉IIR数字滤波器和FIR数字滤波器的设计原理和方法;

2.学会调用MATLAB信号处理工具箱中的滤波器设计函数设计各种IIR和FIR数字滤

波器,学会根据滤波要求确定滤波器指标参数;

3.掌握用IIR和FIR数字滤波器的MATLAB实现方法,并能绘制滤波器的幅频特性、

相频特性;

4.通过观察滤波器的输入、输出信号的时域波形及其频谱,建立数字滤波的概念。【二】设计内容

1.调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st,观

察st的时域波形和幅频特性曲线;

2.通过观察st的幅频特性曲线,分别确定可以分离st中三路抑制载波单频调幅信号

的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率,假定要求滤波器的通带最大衰减为0.1dB,阻带最小衰减为60dB;

3.编程调用MATLAB滤波器设计函数分别设计这三个数字滤波器,并绘图显示其幅频特

性曲线;

4.用所设计的三个滤波器分别对复合信号st进行滤波,分离出st中的三路不同载波

频率的调幅信号,并绘图显示滤波后信号的时域波形和频谱,观察分离效果。【三】设计过程,调试,分析。

(一)IIR数字滤波设计方法

数字滤波是数字信号处理的一种重要算法,广泛用于对信号的过滤、检测与参数的估计等信号处理中。数字滤波器按其单位脉冲响应的长度可分为有限脉冲响应(FIR)滤波器和无限脉冲响应(IIR)滤波器两类。

数字滤波器按其通频带分为低通滤波器,高通滤波器,带通滤波器和带阻滤波器。

在本次实验中旨在用椭圆滤波器实现IIR低通,带通,高通滤波。

IIR 滤波器基本概念

一个 N 阶递归型数字滤波器的差分方程

H ( Z) =

ME br z- r

r = 0

N

1+K =E akz- k

从以上的系统函数可知, 设计 IIR 滤波器的任务就是通过计算寻求一个因果、物理上可实现的系统函数 H ( Z) , 使其频率响应 H ( e jw

) 满足所希望得到的频域指标, 即符合给定的通带截止频率、阻带截止、通带衰减和阻带衰减。 数字滤波器的设计过程

数字滤波器的一般设计过程可分为以下四个步骤: 1) 按照实际的需要, 确定滤波器的性能要求或指标;

2) 用一个因果稳定的离散线性时不变系统,去逼近这一性能指标; 3) 用有限精度的运算实现所设计的系统; 4) 通过模拟, 验证所设计的系统是否符合性能要求 (二)

1:调用信号产生函数mstg 产生由三路抑制载波调幅信号相加构成的复合信号st,画出st 的时域波形和幅频特性,三路信号在时域混叠无法在时域分离,但在频域分离,所以可以通过滤波的方法在频域分离。

抑制载波单频调幅信号的数学表达式为 []))(2cos())(2cos(2

1

)2cos()2cos()(000t f f t f f t f t f t s c c c ++-=

=ππππ 这三路调幅信号的载波频率分别为250Hz 、500Hz 和1000Hz

2:通过观察st 的幅频特性,分别可以确定三路信号的低通,带通,高通滤波器。的通带截止频率和阻带截止频率,要求滤波器的通带最大衰减为0.1db,阻带最小衰减为60db 分离混合信号st 的滤波器指标参数选取如下: 载波为250Hz 的调幅信号,用低通滤波器分离。指标为:

通带截止频率fp=300HZ,阻带截止频率fs=400Hz,通带最大衰减ap=0.1db,阻带最小衰减as=60db

对载波频率为500Hz 的调幅信号,用带通滤波器分离,指标为:

通带截止频率fl=400HZ,fu=500Hz,阻带截止频率fl=600Hz,fu=700Hz,通带最大衰减ap=0.1db,阻带最小衰减as=60db

对载波频率为1000Hz 的调幅信号,用高通滤波器分离,其指标为:

通带截止频率fp=900HZ,阻带截止频率fs=800Hz,通带最大衰减ap=0.1db,阻带最小衰减,60db

3:用椭圆滤波器实现 椭圆滤波器特点:

幅值响应在通带和阻带内都是等波纹的。

对于给定的阶数和给定的波纹要求,椭圆滤波器能获得较其它滤波器更窄的过渡带宽,就这点而言,椭圆滤波器是最优的。

通带和阻带内波纹固定时,阶数越高,过渡带越窄 阶数固定,通带和阻带波纹越小,过渡带越宽

【四】 程序清单与运行结果

程序清单:

%1. 调用信号产生函数mstg 产生由三路抑制载波调幅信号相加构成的复合信号st ,观察%st 的时域

% 波形和幅频特性曲线; function st=mstg

%产生信号序列st ,并显示st 的时域波形和频谱

%st=mstg返回三路调幅信号相加形成的混合信号,长度N=800

N=800; %信号长度N=800

Fs=10000; %采样频率Fs=10kHz,Tp为采样时间

T=1/Fs;

Tp=N*T;

t=0:T:(N-1)*T;

k=0:N-1;

f=k/Tp;

fc1=Fs/10; %第一路调幅信号载波频率fc1=1000Hz

fm1=fc1/10; %第一路调幅信号的调制信号频率fm1=100Hz

fc2=Fs/20; %第二路调幅信号载波频率fc2=500Hz

fm2=fc2/10; %第二路调幅信号的调制信号频率fm2=50Hz

fc3=Fs/40; %第三路调幅信号载波频率fc3=250Hz

fm3=fc3/10; %第三路调幅信号的调制信号频率fm3=25Hz

xt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t); %产生第一路调幅信号

xt2=cos(2*pi*fm2*t).*cos(2*pi*fc2*t); %产生第二路调幅信号

xt3=cos(2*pi*fm3*t).*cos(2*pi*fc3*t); %产生第三路调幅信号

st=xt1+xt2+xt3; %三路信号相加,得到复合信号

fxt=fft(st,N); %计算信号st的频谱

%以下为绘图命令

figure(1)

subplot(2,1,1)

plot(t,st);

grid;

xlabel('t/s');

ylabel('s(t)');

axis([0,Tp,min(st),max(st)]);

title('(a)s(t)的波形')

subplot(2,1,2)

stem(f,abs(fxt)/max(abs(fxt)),'.');

grid;

title('(b)s(t)的频谱')

axis([0,Fs/8,0,1.2]);

xlabel('f/Hz');

ylabel('幅度')

%低通滤波器

fp=320;fs=350;

wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60; %DF指标(低通滤波器的通、阻带边界频)[N,wp]=ellipord(wp,ws,rp,rs); %调用ellipord计算椭圆DF阶数N和通带截止频率wp

[B,A]=ellip(N,rp,rs,wp); %调用ellip计算椭圆带通DF系统函数系数向量B 和A

y1t=filter(B,A,st); %滤波器软件实现

y1=fft(y1t);

% 绘图部分

figure(2);

subplot(3,3,1);

[H,W]=freqz(B,A,800);

plot(W*Fs/2/pi,abs(H));

xlabel('Hz');

ylabel('H(w)');

title('低通滤波器');

axis([0,2000,0,1.2]);

grid;

subplot(3,3,2);

plot(t,y1t);

xlabel('t');

ylabel('y(t)');

title('分离出的250Hz的波形');

subplot(3,3,3);

stem(f,abs(y1)/max(abs(y1)),'.');

xlabel('Hz');

ylabel('|H|');

title('频谱');

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

grid;

%带通滤波器

fpl=420;fpu=580;fsl=300;fsu=700;

wp=[2*fpl/Fs,2*fpu/Fs];ws=[2*fsl/Fs,2*fsu/Fs];rp=0.1;rs=60;

[N,wp]=ellipord(wp,ws,rp,rs); %调用ellipord计算椭圆DF阶数N和通带截止频率wp

[B,A]=ellip(N,rp,rs,wp); %调用ellip计算椭圆带通DF系统函数系数向量B 和A

y2t=filter(B,A,st); %滤波器软件实现

y2=fft(y2t);

%绘图部分

figure(2);subplot(3,3,4);

[H,W]=freqz(B,A,800);

plot(W*Fs/2/pi,abs(H));

xlabel('Hz');

ylabel('H(w)');

title('带通滤波器');

axis([0,2000,0,1.2]);

grid;

subplot(3,3,5);

plot(t,y2t);

xlabel('t');

ylabel('y(t)');

title('分离出的500Hz的波形');

subplot(3,3,6);

stem(f,abs(y2)/max(abs(y2)),'.');

xlabel('Hz');

ylabel('|H|');

title('频谱');

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

grid;

%高通滤波器

fp=870;fs=780;

wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60; %DF指标(低通滤波器的通、阻带边界频)[N,wp]=ellipord(wp,ws,rp,rs); %调用ellipord计算椭圆DF阶数N和通带截止频率wp

[B,A]=ellip(N,rp,rs,wp,'high'); %调用ellip计算椭圆带通DF系统函数系数向量B和A

y3t=filter(B,A,st); %滤波器软件实现

y3=fft(y3t);

%绘图部分

figure(2);subplot(3,3,7);

[H,W]=freqz(B,A,800);

plot(W*Fs/2/pi,abs(H));

xlabel('Hz');

ylabel('H(w)');

title('高通滤波器');

axis([0,2000,0,1.2]);

grid;

subplot(3,3,8);

plot(t,y3t);

xlabel('t');

ylabel('y(t)');

title('分离出的1000Hz的波形');

subplot(339);

stem(f,abs(y3)/max(abs(y3)),'.');

xlabel('Hz');

ylabel('|H|');

title('频谱');

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

grid;

运行结果:

设计四语音信号滤波处理

【一】设计目的

1.了解语音信号的产生、采集,能绘制语音信号的频率响应曲线及频谱图;

2.学会用MATLAB对语音信号进行分析和处理;

3.掌握用滤波器去除语音信号噪声的方法,观察去噪前后的语音信号。

【二】设计内容

1.利用Windows下的录音机录制一段自己的话音,时间在1s内。然后在Matlab软件

平台下,利用wavread函数对语音信号进行采样,记住采样频率和采样点数;

2.画出语音信号的时域波形,对采样后的语音信号进行快速傅立叶变换,得到信号的

频谱特性,画出采样信号的时域波形和频谱图;

3.根据对语音信号谱分析的结果,确定滤除噪声所需滤波器的技术指标,设计合适的

数字滤波器,并画出滤波器的频域响应;

4. 用所设计的滤波器对采集的信号进行滤波,在同一个窗口画出滤波前后信号的时域

波形和频谱,并对滤波前后的信号进行对比,分析信号的变化 ; 5. 回放语音信号;sound(x)

6. 为使编制的程序操作方便,设计一个信号处理用户界面。在所设计的系统界面上可

以选择滤波器的类型,输入滤波器的参数,显示滤波器的频率响应,选择信号等。

【三】设计原理 1. 语音信号的采集

在MATLAB 软件平台下,利用函数wavread ( )对语音信号采集,并记录采样频率和采样点数。将语音信号转换成计算机能够运算的有限长序列。

wavread 函数的调用格式如下:

y=wavread(file)

读取file 所规定的wav 文件,返回采样值放在向量y 中。

[y,fs]=wavread(file)

采样值放在向量y 中,fs 表示采样频率(Hz )。 2. 用FFT 作谱分析

FFT 即快速傅立叶变换,它是从DFT 运算中发展起来的,利用系数nk

N W 的对称性和周期性减少运算量。长度为N 的序列直接计算DFT 需要2

N 次复乘和(1)N N -次复加,而用FFT 进行运算一般需要

2log 2

N

N 次复乘和2log N N 次复加,

从而使DFT 的运算大大简化。

用FFT 对连续信号进行谱分析的步骤如下:

图3.1 连续信号谱分析过程

引入前置低通滤波器LPF 是为了消除或减少时域连续信号转换成序列时可能出现的频谱混叠现象。)(n w 表示时域有限的窗函数。 3. 设计滤波器去除语音信号的噪声

通过wavread()函数将语音信号读入,通过频率采样及fft ( )产生信号,并对之加噪,通过窗函数法设计滤波器滤掉该语音信号的噪声,并对比滤波前后的语音波形和频谱。

【四】程序清单与运行结果:

程序清单:

Fs =20000; %采样频率

[x,Fs]=wavread('E:\sound.wav');

figure(1)

subplot(2,2,1)

plot(x,'b'); %做原始语音信号的时域图形

title('原语音信号');grid on;

%sound(x,Fs);

subplot(2,2,2)

plot(abs(fft(x)));%画出原始语音信号的频谱图

title('原语音信号的频谱');grid on;

y=rand(size(x))/5;

y=x+y;

subplot(2,2,3);

plot(y); %做噪声语音信号的时域图形

title('加噪后语音信号');

xlabel('时间n');ylabel('音量n');

%sound(y,Fs);

subplot(2,2,4);

y5=fft(y,length(y)); %做length(y)点的FFT

plot(abs(y5));%画出噪声语音信号的频谱图

title('加噪后语音信号的频谱');grid on;

fs=20000;

fc2=5000;

wc2=2*pi*fc2/fs;

wp2=2*pi*4800/fs;ws2=2*pi*5000/fs;

N2=ceil(6.6*pi/(ws2-wp2))+1;%确定窗的长度

Window=(hamming(N2));

b2=fir1(N2-1,1/pi,0,Window);%利用窗函数法设计FIR滤波器

[H,W]=freqz(b2,1,512);%数字滤波器频率响应

H_db=20*log10(abs(H));

figure(2);

subplot(3,1,1)

plot(W,H_db);

title('低通滤波器');grid on;

y_high = filter(b2,1,y);%对信号进行高通滤波

subplot(3,1,2)

plot(y_high);title('信号经过低通滤波器(时域)'); subplot(3,1,3)

plot(abs(fft(y_high)));

title('信号经过低通滤波器(频域)');grid on; sound(y_high,Fs);

运行结果:

数字信号处理(北航)实验二报告

数字信号处理实验二 信号的分析与处理综合实验 38152111 张艾一、实验目的 综合运用数字信号处理的理论知识进行信号的采样,重构,频谱分析和滤波器的设计,通过理论推导得出相应结论,再利用Matlab作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。 二、基本要求 1.掌握数字信号处理的基本概念、基本理论和基本方法; 2.学会MATLAB的使用,掌握MATLAB的程序设计方法; 3.掌握用MATLAB设计简单实验验证采样定理的方法; 4.掌握在Windows环境下语音信号采集的方法; 5.学会用MATLAB对信号进行频谱分析; 6.掌握MATLAB设计FIR和IIR数字滤波器的方法; 三、实验内容 1.利用简单正弦信号设计实验验证采样定理: (1)Matlab产生离散信号的方法,作图的方法,以及基本运算操作 (2)对连续正弦信号以不同的采样频率作采样 (3)对采样前后信号进行傅立叶变换,并画频谱图 (4)分析采样前后频谱的有变化,验证采样定理。

掌握画频谱图的方法,深刻理解采样频率,信号频率,采样点数,频率分辨率等概念2.真实语音信号的采样重构:录制一段自己的语音信号,并对录制的信号进行采样;画出采样前后语音信号的时域波形和频谱图;对降采样后的信号进行插值重构,滤波,恢复原信号。 (1)语音信号的采集 (2)降采样的实现(改变了信号的采样率) (3)以不同采样率采样后,语音信号的频谱分析 (4)采样前后声音的变化 (5)对降采样后的信号进行插值重构,滤波,恢复原信号 3.带噪声语音信号的频谱分析 (1)设计一频率已知的噪声信号,与实验2中原始语音信号相加,构造带噪声信号(2)画出原始语音信号和加噪声后信号,以及它们的频谱图 (3)利用频谱图分析噪声信号和原语音信号的不同特性 4.对带噪声语音信号滤波去噪:给定滤波器性能指标,采样窗函数法或双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采样的语音信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化; 回放语音信号; (1)分析带噪声信号频谱,找出噪声所在的频率段 (2)利用matlab中已有的滤波器滤波 (3)根据语音信号特点,自己设计滤波器滤波 (4)比较各种滤波器性能(至少四种),选择一种合适的滤波器将噪声信号滤除 (5)回放语音信号,比较滤波前后声音的变化

数字信号处理实验报告

实验一 1.分析并绘出常用函数(a) 锯齿波; (b) 三角波; (c) 方波; (d) 抽样函数 的时域特性波形. 程序: clear alla¤ t=0:0.0001:0.1; x1=sawtooth(2*pi*50*t); %产生五个周期锯齿波 subplot(221) plot(t,x1) title('锯齿波110900623') xlabel('t') x2=sawtooth(2*pi*50*t,0.5); %产生五个周期三角波 subplot(222) plot(t,x2) xlabel('t') title('三角波110900623') x3=square(2*pi*50*t); %产生十个周期方波 subplot(223) plot(t,x3) xlabel('t') title('方波110900623') axis([0,0.1,-1.2,1.2]) t=-4:0.1:4; x4=sinc(t); %产生抽样信号 subplot(224) plot(t,x4) xlabel('t') axis([-5,5,-0.5,0.5]) title('抽样信号110900623') -1-0.500.51锯齿波110900623 t -1-0.500.51t 三角波110900623 -1-0.500.51t 方波 110900623 -0.5 0.5 t 抽样信号110900623

2.分析并绘出常用窗函数时域特性波形. clear all y1=boxcar(80); %矩形窗 plot(y1,'k') axis([-1,81,-0.2,1.2]) gtxst(‘矩形窗’) hold on y2=triang(80); %三角窗 plot(y2,'m.') hold on y3=hanning(80); %汉宁窗 plot(y3,'y*') gtxst(‘汉宁窗’) hold on y4=hamming(80); %海明窗 plot(y4,'r-') gtxst(‘海明窗’) hold on y5=blackman(80); %布莱克曼窗 plot(y5,'g:') gtxst(‘布莱克曼窗’) hold on y6=kaiser(80,7.865);%凯塞-贝尔窗 plot(y6,'b-.') gtxst(‘凯塞-贝尔窗’) title('常用窗函数110900623') 01020304050607080 -0.2 0.2 0.4 0.6 0.8 1 窗常用窗函数110900623

现代数字信号处理仿真作业

现代数字信号处理仿真作业 1.仿真题3.17 仿真结果及图形: 图 1 基于FFT的自相关函数计算

图 3 周期图法和BT 法估计信号的功率谱 图 2 基于式3.1.2的自相关函数的计算

图 4 利用LD迭代对16阶AR模型的功率谱估计16阶AR模型的系数为: a1=-0.402637623107952-0.919787323662670i; a2=-0.013530139693503+0.024214641171318i; a3=-0.074241889634714-0.088834852915013i; a4=0.027881022353997-0.040734794506749i; a5=0.042128517350786+0.068932699075038i; a6=-0.0042799971761507 + 0.028686095385146i; a7=-0.048427890183189 - 0.019713457742372i; a8=0.0028768633718672 - 0.047990801912420i a9=0.023971346213842+ 0.046436389191530i; a10=0.026025963987732 + 0.046882756497113i; a11= -0.033929397784767 - 0.0053437929619510i; a12=0.0082735406293574 - 0.016133618316269i; a13=0.031893903622978 - 0.013709547028453i ; a14=0.0099274520678052 + 0.022233240051564i; a15=-0.0064643069578642 + 0.014130696335881i; a16=-0.061704614407581- 0.077423818476583i. 仿真程序(3_17): clear all clc %% 产生噪声序列 N=32; %基于FFT的样本长度

数字信号处理实验报告

Name: Section: Laboratory Exercise 2 DISCRETE-TIME SYSTEMS: TIME-DOMAIN REPRESENTATION 2.1 SIMULATION OF DISCRETE-TIME SYSTEMS Project 2.1The Moving Average System A copy of Program P2_1 is given below: % Program P2_1 % Simulation of an M-point Moving Average Filter % Generate the input signal n = 0:100; s1 = cos(2*pi*0.05*n); % A low-frequency sinusoid s2 = cos(2*pi*0.47*n); % A high frequency sinusoid x = s1+s2; % Implementation of the moving average filter M = input('Desired length of the filter = '); num = ones(1,M); y = filter(num,1,x)/M; % Display the input and output signals clf; subplot(2,2,1); plot(n, s1); axis([0, 100, -2, 2]); xlabel('Time index n'); ylabel('Amplitude'); title('Signal #1'); subplot(2,2,2); plot(n, s2); axis([0, 100, -2, 2]); xlabel('Time index n'); ylabel('Amplitude'); title('Signal #2'); subplot(2,2,3); plot(n, x); axis([0, 100, -2, 2]); xlabel('Time index n'); ylabel('Amplitude'); title('Input Signal'); subplot(2,2,4); plot(n, y); axis([0, 100, -2, 2]); xlabel('Time index n'); ylabel('Amplitude'); title('Output Signal'); axis;

现代数字信号处理复习题

现代数字信号处理复习题 一、填空题 1、平稳随机信号是指:概率分布不随时间推移而变化的随机信号,也就是说,平稳随机信号的统计特性与起始 时间无关,只与时间间隔有关。 判断随机信号是否广义平稳的三个条件是: (1)x(t)的均值为与时间无关的常数:C t m x =)( (C 为常数) ; (2)x(t)的自相关函数与起始时间无关,即:)(),(),(ττx i i x j i x R t t R t t R =+=; (3)信号的瞬时功率有限,即:∞<=)0(x x R D 。 高斯白噪声信号是指:噪声的概率密度函数满足正态分布统计特性,同时其功率谱密度函数是常数的一类噪 声信号。 信号的遍历性是指:从随机过程中得到的任一样本函数,好象经历了随机过程的所有可能状态,因此,用一个 样本函数的时间平均就可以代替它的集合平均 。 广义遍历信号x(n)的时间均值的定义为: ,其时间自相关函数的定义为: 。 2、连续随机信号f(t)在区间上的能量E 定义为: 其功率P 定义为: 离散随机信号f(n)在区间 上的能量E 定义为: 其功率P 定义为: 注意:(1)如果信号的能量0

数字信号处理课程设计报告

《数字信号处理》课程设计报告 设计题目: IIR滤波器的设计 专业: 班级: 姓名: 学号: 指导教师: 2010年月日

1、设计目的 1、掌握IIR 滤波器的参数选择及设计方法; 2、掌握IIR 滤波器的应用方法及应用效果; 3、提高Matlab 下的程序设计能力及综合应用能力。 4、了解语音信号的特点。 2、设计任务 1、学习并掌握课程设计实验平台的使用,了解实验平台的程序设计方法; 2、录制并观察一段语音信号的波形及频谱,确定滤波器的技术指标; 3、根据指标设计一个IIR 滤波器,得到该滤波器的系统响应和差分方程,并根据差分方程将所设计的滤波器应用于实验平台,编写相关的Matlab 程序; 4、使用实验平台处理语音信号,记录结果并进行分析。 3、设计内容 3.1设计步骤 1、学习使用实验平台,参见附录1。 2、使用录音机录制一段语音,保存为wav 格式,录音参数为:采样频率8000Hz、16bit、单声道、PCM 编码,如图1 所示。 图1 录音格式设置 在实验平台上打开此录音文件,观察并记录其波形及频谱(可以选择一段较为稳定的语音波形进行记录)。 3、根据信号的频谱确定滤波器的参数:通带截止频率Fp、通带衰减Rp、阻带截止频率Fs、阻带衰减Rs。 4、根据技术指标使用matlab 设计IIR 滤波器,得到系统函数及差分方程,并记录得到系统函数及差分方程,并记录其幅频响应图形和相频响应图形。要求设计 第 1页出的滤波器的阶数小于7,如果不能达到要求,需要调整技术指标。 5、记录滤波器的幅频响应和系统函数。在matlab 中,系统函数的表示公式为:

因此,必须记录系数向量a 和b。系数向量a 和b 的可以在Matlab 的工作空间(WorkSpace)中查看。 6、根据滤波器的系统函数推导出滤波器的差分方程。 7、将设计的滤波器应用到实验平台上。根据设计的滤波器的差分方程在实验平台下编写信号处理程序。根据运行结果记录处理前后的幅频响应的变化情况,并试听处理前后声音的变化,将结果记录,写入设计报告。 3.2实验程序 (1)Rs=40; Fs=1400; Rp=0.7; Fp=450; fs=8000; Wp=2*pi*Fp;Ws=2*pi*Fs; [N,Wn]=buttord(Wp,Ws,Rp,Rs,'s'); [b1,a1]=butter(N,Wn,'s'); [b,a]=bilinear(b1,a1,fs); [H,W]=freqz(b,a); figure; subplot(2,1,1);plot(W*fs/(2*pi),abs(H));grid on;title('频率响应'); xlabel('频率');ylabel('幅值');、 subplot(2,1,2); plot(W,angle(H));grid on;title('频率响应'); xlabel('相位(rad)');ylabel('相频特性'); 3.3实验结果(如图): N =5 Wn=6.2987e+003 第 2页

数字信号处理实验报告

语音信号的数字滤波 一、实验目的: 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);

数字信号处理期末综合实验报告

数字信号处理综合实验报告 实验题目:基于Matlab的语音信号去噪及仿真 专业名称: 学号: 姓名: 日期: 报告内容: 一、实验原理 1、去噪的原理 1.1 采样定理 在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中,最高频率fmax的2倍时,即:fs.max>=2fmax,则采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍;采样定理又称奈奎斯特定理。1924年奈奎斯特(Nyquist)就推导出在理想低通信道的最高大码元传输速率的公式: 理想低通信道的最高大码元传输速率=2W*log2 N (其中W是理想低通信道的带宽,N是电平强度)为什么把采样频率设为8kHz?在数字通信中,根据采样定理, 最小采样频率为语音信号最高频率的

2倍 频带为F的连续信号f(t)可用一系列离散的采样值f(t1),f(t1±Δt),f(t1±2Δt),...来表示,只要这些采样点的时间间隔Δt≤1/2F,便可根据各采样值完全恢复原来的信号f(t)。这是时域采样定理的一种表述方式。 时域采样定理的另一种表述方式是:当时间信号函数f(t)的最高频率分量为fM时,f(t)的值可由一系列采样间隔小于或等于1/2fM的采样值来确定,即采样点的重复频率f≥2fM。图为模拟信号和采样样本的示意图。 时域采样定理是采样误差理论、随机变量采样理论和多变量采样理论的基础。对于时间上受限制的连续信号f(t)(即当│t│>T时,f(t)=0,这里T=T2-T1是信号的持续时间),若其频谱为F(ω),则可在频域上用一系列离散的采样值 (1-1) 采样值来表示,只要这些采样点的频率间隔 (1-2) 。 1.2 采样频率 采样频率,也称为采样速度或者采样率,定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。采样频率的倒数是采样周期或者叫作采样时间,它是采样之间的时间间隔。通俗的讲采样频率是指计算

数字信号处理实验报告(同名22433)

《数字信号处理》 实验报告 课程名称:《数字信号处理》 学院:信息科学与工程学院 专业班级:通信1502班 学生姓名:侯子强 学号:0905140322 指导教师:李宏 2017年5月28日

实验一 离散时间信号和系统响应 一. 实验目的 1. 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解 2. 掌握时域离散系统的时域特性 3. 利用卷积方法观察分析系统的时域特性 4. 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对离散信号及系统响应进行频域分析 二、实验原理 1. 采样是连续信号数字化处理的第一个关键环节。对采样过程的研究不仅可以了解采样前后信号时域和频域特性的变化以及信号信息不丢失的条件,而且可以加深对离散傅里叶变换、Z 变换和序列傅里叶变换之间关系式的理解。 对连续信号()a x t 以T 为采样间隔进行时域等间隔理想采样,形成采样信号: ?()()()a a x t x t p t = 式中()p t 为周期冲激脉冲,$()a x t 为()a x t 的理想采样。 ()a x t 的傅里叶变换为μ ()a X j Ω: 上式表明将连续信号()a x t 采样后其频谱将变为周期的,周期为Ωs=2π/T 。也即采样信 号的频谱μ()a X j Ω是原连续信号xa(t)的频谱Xa(jΩ)在频率轴上以Ωs 为周期,周期延拓而成 的。因此,若对连续信号()a x t 进行采样,要保证采样频率fs ≥2fm ,fm 为信号的最高频率,才可能由采样信号无失真地恢复出原模拟信号 计算机实现时,利用计算机计算上式并不方便,因此我们利用采样序列的傅里叶变换来实现,即 ()() n P t t nT δ∞ =-∞ = -∑μ1()()*() 21 ()n a a a s X j X j P j X j jn T π∞ =-∞ Ω=ΩΩ= Ω-Ω∑μ()()|j a T X j X e ωω=ΩΩ=

数字信号处理实验报告

数字信号处理实验报告 姓 名: 班 级: 13电信2 学 号: 2013302 2013302 2013302 指导老师: 日期: 华南农业大学电子工程学院 电子信息工程系 实验一 常见离散信号的MATLAB 产生和图形显示 一、实验目的 加深对常用离散信号的理解; 二.实验原理 1. 单位抽样序列 在MATLAB 中可以利用zeros()函数实现。 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即: 2. 单位阶越序列 在MATLAB 中可以利用ones()函数实现。 3. 正弦序列 在MATLAB 中 4. 复正弦序列 在MATLAB 中 5. 指数序列 在MATLAB 中 6.卷积分析 conv.m 用来实现两个离散序列的线性卷积。 其调用格式是:y=conv(x,h) 若x 的长度为N ,h 的长度为M ,则y 的长度L=N+M-1。

三.实验内容 1.画出信号x(n) = 1.5*?(n+1) - ?(n-3)的波形。 2.求序列x(n)和h(n)的线性卷积y(n)=x(n)*h(n)。x(n) = {3,-3,7,0,-1,5,2} , h(n) = {2,3,0,-5,2,1}. 画出x(n),h(n),y(n)与n的离散序列图形 四.实验要求 1)画出信号x(n) = 1.5*?(n+1) - ?(n-3)的波形。 ①MATLAB程序如下: n3 = [-3:3]; x3 = [(n3+1)==0]; subplot(1,3,1); stem(n3,x3); n4 = [-3:3]; x4 = [(n4-3)==0]; subplot(1,3,2);stem(n4,x4); n5 = [-3:3];x5 = 1.5*x3 - x4; subplot(1,3,3);stem(n5,x5); ②理论计算: x(n)= ③程序运行结果: 图(1) 从图(1)左侧起第一幅图是信号?(n+1)的波形,第二幅图是信号?(n-3)的波形,最后一幅图是信号x(n) = 1.5*?(n+1) - ?(n-3)的波形。

数字信号处理实验报告要求

数字信号处理实验课程设计 题目:数字滤波器的设计与实现 一、课程设计目的 (1) 掌握用脉冲响应不变法和双线性变换法设计无限脉冲响应数字滤波器(IIR DF )的原理和方法; (2) 掌握用窗函数法和频率采样设计有限脉冲响应数字滤波器(FIR DF )的原理和方法; (3) 学会根据信号的频谱确定滤波器指标参数; (4) 学会调用MATLAB 信号处理工具箱中的滤波器设计函数设计IIR DF 和FIR DF 。 二、课程设计原理 已知一个连续时间信号())π2cos()π2sin(21t f t f t x +=,Hz 1001=f ,Hz 3002=f ,x (t )为两个单频信号叠加后的混合信号,其时域波形和幅频特性图如图1所示。由图可知,混合信号时域混叠,无法在时域进行分离,但是频域是分离的,可以通过设计合适的IIR DF 和FIR DF 将两个单频信号分离,形成两个单一频率信号。 -2-1 1 2 t/s x (t )(a)混合信号时域波 形 050100150200250 30035040045050000.5 1 f/Hz 幅度(b)混合信号幅频特性 图1混合信号x (t )及其频谱图 三、课程设计内容 设计低通滤波器和高通滤波器将两个单频信号分离。滤波器的通带截止频率和阻带截止频率通过观察x (t )的幅频特性图自行确定,设采样频率为Hz 1000=s f ,要求滤波器的通带最大衰减和阻带最小衰减分别为dB 50,dB 1s p ==αα。调用MATLAB 中的滤波器设计函数编写

程序设计低通滤波器和高通滤波器(其中,低通滤波器用脉冲响应不变法和双线性变换法两种方法设计,高通滤波器用窗函数法和频率采样法两种方法设计),并绘制滤波器的幅频特性图、经滤波分离后的信号时域波形图和幅频特性图,观察分离效果。 四、课程设计报告要求 课程设计报告应包含以下几个方面的内容: 1.课程设计目的 2.课程设计要求 3.课程设计过程(包括设计步骤、完整的程序及仿真图) 4.结果分析 5.心得体会、问题或者建议 6.参考文献

数字信号处理课程规划报告

数字信号处理课程设计报告《应用Matlab对信号进行频谱分析及滤波》 专业: 班级: 姓名: 指导老师: 二0 0五年一月一日

目录 设计过程步骤() 2.1 语音信号的采集() 2.2 语音信号的频谱分析() 2.3 设计数字滤波器和画出其频谱响应() 2.4 用滤波器对信号进行滤波() 2.5滤波器分析后的语音信号的波形及频谱() ●心得和经验()

设计过程步骤 2.1 语音信号的采集 我们利用Windows下的录音机,录制了一段开枪发出的声音,时间在1 s内。接着在C盘保存为WAV格式,然后在Matlab软件平台下.利用函数wavread对语音信号进行采样,并记录下了采样频率和采样点数,在这里我们还通过函数sound引入听到采样后自己所录的一段声音。通过wavread函数和sound的使用,我们完成了本次课程设计的第一步。其程序如下: [x,fs,bite]=wavread('c:\alsndmgr.wav',[1000 20000]); sound(x,fs,bite); 2.2 语音信号的频谱分析 首先我们画出语音信号的时域波形;然后对语音信号进行频谱分析,在Matlab中,我们利用函数fft对信号进行快速傅里叶变换,得到信号的频谱特性性。到此,我们完成了课程实际的第二部。 其程序如下: n=1024; subplot(2,1,1); y=plot(x(50:n/4)); grid on ; title('时域信号') X=fft(x,256); subplot(2,1,2); plot(abs(fft(X))); grid on ; title('频域信号'); 运行程序得到的图形:

数字信号处理实习报告

中国地质大学(武汉) 数字信号处理上机实习 学生姓名: 班级:071132 学号:2013100 指导老师:王晓莉

题目一 离散卷积计算 一、实验题目 设线性时不变(LTI )系统的冲激响应为h(n),输入序列为x(n) 1、h(n)=(0.8)n ,0≤n ≤4; x(n)=u(n)-u(n-4) 2、h(n)=(0.8)n u(n), x(n)=u(n)-u(n-4) 3、h(n)=(0.8)n u(n), x(n)=u(n) 求以上三种情况下系统的输出y(n),显示输入和输出波形。 二、实验目的 1.理解和掌握离散卷积计算; 2.学习如何用Mtalab 实现离散卷积计算。 三、算法设计 离散卷积定义为: ∑-∞ =-= n )()()(y k k n h k x n 1、n (0.8)=h(n),40≤≤n ,4)-u(n -u(n)=x(n), ∑∞ -∞ =-= *=m m n h m x n h n x n y )()()()()( (a) 当0

(b) 当30≤≤n 时,∑==n m n y 0 )((0.8)n ; (c) 当204≤≤n 时,∑ -== n 3)(n m n y (0.8)n ; (d) 当2321≤≤n 时,∑ -==20 3 )(n m n y (0.8)n ; (e) 当23>n 时,0)(=n y ; 3、)()8.0()(n u n h n =,)()(n u n x =,∑∞ -∞ =-= *=m m n h m x n h n x n y )()()()()( (a) 当0n 时,0)(=n y ; 四、程序分析 所用到的函数: (1)y=conv (x.,h ):卷积运算函数,计算)(*)()(n h n x n y =; (2)n1=0:4:n1取0~4; (3)subplot(m,n,p):subplot()函数是将多个图画到一个平面上的工具。其中,m 表示是图排成m 行,n 表示图排成n 列,也就是整个figure 中有n 个图是排成一行的,一共m 行,如果m=2就是表示2行图。p 表示图所在的位置,p=1表示从左到右从上到下的第一个位置。 (4)title(‘content ’):title()函数的功能是为当前坐标系添加标题“content ”。 五、程序设计 n=0:4; h=0.8.^n;

现代数字信号处理习题

1.设()u n 是离散时间平稳随机过程,证明其功率谱()w 0S ≥。 证明:将()u n 通过冲激响应为()h n 的LTI 离散时间系统,设其频率响应()w H 为 ()001,w -w w 0, w -w w H w ???? 输出随机过程()y n 的功率谱为()()()2y S w H w S w = 输出随机过程()y n 的平均功率为()()()00201 1r 022w w y y w w S w dw S w dw π π π+?-?= =?? 当频率宽度w 0???→时,上式可表示为()()()01 r 00y S w w π =?≥ 由于频率0w 是任意的,所以有()w 0 S ≥ 3、已知:状态方程 )()1,()1()1,()(1n n n n x n n F n x ν-Γ+--=观测方程 )()()()(2n n x n C n z ν+= )()]()([111n Q n n E H =νν )()]()([222n Q n n E H =νν 滤波初值 )]0([)|0(0x E x =ξ } )]]0([)0()]][0([)0({[)0(H x E x x E x E P --= 请简述在此已知条件下卡尔曼滤波算法的递推步骤。 解:步骤1 状态一步预测,即 1 *11)|1(?)1,()|(N n n C n x n n F n x ∈--=--∧ ξξ 步骤2 由观测信号z(n)计算新息过程,即 1*11)|(?)()()|(?)()(M n n C n x n C n z n z n z n ∈-=-=--ξξα 步骤3 一步预测误差自相关矩阵 N N H H C n n n Q n n n n F n P n n F n n P *1)1,()1()1,() 1,()1()1,()1,(∈-Γ--Γ+---=- 步骤4 新息过程自相关矩阵M M H C n Q n C n n P n C n A *2)()()1,()()(∈+-= 步骤5 卡尔曼增益M N H C n A n C n n P n K *1)()()1,()(∈-=- 或 )()()()(1 2n Q n C n P n K H -= 步骤6 状态估计 1*1)()()|(?)|(?N n n C n n K n x n x ∈+=-αξξ 步骤7 状态估计自相关矩阵 N N C n n P n C n K I n P *)1,()]()([)(∈--= 或 )()()()]()()[1,()]()([)(2n K n Q n K n C n K I n n P n C n K I n P H H +---= 步骤8 重复步骤1-7,进行递推滤波计算 4、经典谱估计方法:

2012《现代数字信号处理》课程复习...

“现代数字信号处理”复习思考题 变换 1.给出DFT的定义和主要性质。 2.DTFT与DFT之间有什么关系? 3.写出FT、DTFT、DFT的数学表达式。 离散时间系统分析 1.说明IIR滤波器的直接型、级联型和并联型结构的主要特点。 2.全通数字滤波器、最小相位滤波器有何特点? 3.线性相位FIR滤波器的h(n)应满足什么条件?其幅度特性如何? 4.简述FIR离散时间系统的Lattice结构的特点。 5.简述IIR离散时间系统的Lattice结构的特点。 采样 1.抽取过程为什么要先进行滤波,此滤波器应逼近什么样的指标? 维纳滤波 1.画出Wiener滤波器结构,写出平稳信号下的滤波方程,导出Wiener-Hopf方程。 2.写出最优滤波器的均方误差表示式。 3.试说明最优滤波器满足正交性原理,即输出误差与输入信号正交。 4.试说明Wiener-Hopf方程和Yule-Walker方程的主要区别。 5.试说明随机信号的自相关阵与白噪声的自相关阵的主要区别。 6.维纳滤波理论对信号和系统作了哪些假设和限制? 自适应信号处理 1.如何确定LMS算法的μ值,μ值与算法收敛的关系如何? 2.什么是失调量?它与哪些因素有关? 3.RLS算法如何实现?它与LMS算法有何区别? 4.什么是遗忘因子,它在RLS算法中有何作用,取值范围是多少? 5.怎样理解参考信号d(n)在自适应信号处理处理中的作用?既然他是滤波器的期望响应,一般在滤波前是不知道的,那么在实际应用中d(n)是怎样获得的,试举两个应用例子来加以说明。 功率谱估计 1.为什么偏差为零的估计不一定是正确的估计? 2.什么叫一致估计?它要满足哪些条件? 3.什么叫维拉-辛钦(Wiener-Khinteche)定理? 4.功率谱的两种定义。 5.功率谱有哪些重要性质? 6.平稳随机信号通过线性系统时输入和输出之间的关系。 7.AR模型的正则方程(Yule-Walker方程)的导出。 8.用有限长数据估计自相关函数的估计质量如何? 9.周期图法谱估计的缺点是什么?为什么会产生这些缺点? 10.改进的周期图法谱估计有哪些方法?它们的根据是什么? 11.既然隐含加窗有不利作用,为什么改进周期图法谱估计是还要引用各种窗? 12.经典谱估计和现代谱估计的主要差别在哪里? 13.为什么AR模型谱估计应用比较普遍? 14.对于高斯随机过程最大熵谱估计可归结为什么样的模型? 15.为什么Levison-Durbin快速算法的反射系数的模小于1? 16.什么是前向预测?什么是后向预测? 17.AR模型谱估计自相关法的主要缺点是什么? 18.Burg算法与Levison-Durbin算法的区别有哪些?

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

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

数字信号处理第一次上机实验报告 实验一: 设给定模拟信号()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); 运行结果:

数字信号处理实验报告

南京信息工程大学数字信号处理实验报告01. 学院:电子与信息工程学院 班级:11通信1班 学号:20111334020 姓名:杨丹 指导教师:乔杰 2013/12/6

目录 实验一Matlab基本知识和信号处理工具箱 (3) 实验二离散信号的产生及分析 (5) 实验三离散傅立叶变换及分析 (8) 实验四IIR数字滤波器的分析与设计 (12) 实验五FIR数字滤波器的分析与设计 (14)

实验一 Matlab 基本知识和信号处理工具箱 一、实验目的 1、 了解Matlab 的基本操作 2、 了解Matlab 工具箱的函数 3、 正确使用Matlab 进行试验仿真 二、实验内容 (一)画出振荡曲线 和它的包络 程序如下: t=0:pi/20:4*pi; yy=exp(-t/3); y=exp(-t/3).*sin(3*t); plot(t,y,'-r'); hold on plot(t,yy,':b',t,-yy,':b'); grid on shg 实验结果: (二)sawtooth 产生锯齿波或三角波 在Matlab 命令窗口中输入以下命令,也可以用脚本文件来实现。 程序如下: t=-10:0.1:10; x=sawtooth(t); )3sin(3/t e y t -=3 /t e yy -=

plot(t,x) grid on Shg 实验结果: 三、实验小结 在本次实验中,了解了Matlab的基本操作,基本了解了信号处理工具箱的使用方法,能够进行简单的波形绘制。对波形代码参量有了基本的识别能力。

实验二 离散信号的产生及分析 一、实验目的 利用函数、脚本文件或在主命令窗口中编写离散信号命令 二、实验内容 (一)生成离散信号 并画出复序列x(n)的实部,虚部,幅值和相位图。 程序如下: figure(1);clf n=-15:24;alpha=-0.3+j*0.5; x=exp(alpha.*n); subplot(221);stem(n,real(x));title('real part');xlabel('n'); subplot(222);stem(n,imag(x));title('imaginary part');xlabel('n'); subplot(223);stem(n,abs(x));title('magnitude part');xlabel('n'); subplot(224);stem(n,angle(x)*180/pi);title('phase part');xlabel('n'); 实验结果: (二)请给出离散系统 的单位抽样响 应和单位阶跃响应 2415,)()5.03.0(<≤-=+-n e n x n j )2(2)()2(7.0)1(3.0)(-+=-+--n x n x n y n y n y

现代信号处理大作业题目+答案

研究生“现代信号处理”课程大型作业 (以下四个题目任选三题做) 1. 请用多层感知器(MLP )神经网络误差反向传播(BP )算法实现异或问题(输入为[00;01;10;11]X T =,要求可以判别输出为0或1),并画出学习曲线。其中,非线性函数采用S 型Logistic 函数。 2. 试用奇阶互补法设计两带滤波器组(高、低通互补),进而实现四带滤波器组;并画出其频响。滤波器设计参数为:F p =1.7KHz , F r =2.3KHz , F s =8KHz , A rmin ≥70dB 。 3. 根据《现代数字信号处理》(姚天任等,华中理工大学出版社,2001)第四章附录提供的数据(pp.352-353),试用如下方法估计其功率谱,并画出不同参数情况下的功率谱曲线: 1) Levinson 算法 2) Burg 算法 3) ARMA 模型法 4) MUSIC 算法 4. 图1为均衡带限信号所引起失真的横向或格型自适应均衡器(其中横向FIR 系统长M =11), 系统输入是取值为±1的随机序列)(n x ,其均值为零;参考信号)7()(-=n x n d ;信道具有脉冲响应: 1 2(2)[1cos( )]1,2,3()20 n n h n W π-?+=?=???其它 式中W 用来控制信道的幅度失真(W = 2~4, 如取W = 2.9,3.1,3.3,3.5等),且信道受到均 值为零、方差001.02 =v σ(相当于信噪比为30dB)的高斯白噪声)(n v 的干扰。试比较基 于下列几种算法的自适应均衡器在不同信道失真、不同噪声干扰下的收敛情况(对应于每一种情况,在同一坐标下画出其学习曲线): 1) 横向/格-梯型结构LMS 算法 2) 横向/格-梯型结构RLS 算法 并分析其结果。

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

实验一、离散时间系统及离散卷积 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; %为座标添加名称

相关文档
最新文档