文档视界 最新最全的文档下载
当前位置:文档视界 › matlab与数字信号处理课程设计报告

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

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

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

实验报告

题目四 :

Using the bilinear transformation and a lowpass analog Butterworth prototype, design a highpass digital filter operating at a rate of 20kHz and having passband extending to 5kHz with maximum passband attenuation of 0.5dB,and stopband ending at 4kHz with a minimum stopband attenuation of 10dB.

备注:题目3,4要求:实验报告中要求写出对应的滤波器H(z),并在H(z)表达式中将共轭极点对组成二阶基本节,以极点在Z平面上分布顺序写出H(z)形式并将各二阶基本节系数以顺序列表。画出幅度频谱图的|H(ω)|及其以(dB)为单位的幅度谱图。

二:实验目的

1)熟练掌握低通滤波器的设计方法。

2)学会利用低通滤波器设计高通滤波器。

3)掌握用双线形变换法设计数字高通滤波器的方法。

4)熟悉MATLAB提供的各种滤波器设计函数。

5)掌握各种关于滤波器的幅度频谱设计函数。

三:实验原理

本题利用双线性变换法和巴特沃斯低通滤波器来设计数字高通滤波器:

双线形变换法是利用s=2*(1-z-1)/T*(1+z-1)将s域转换到z域,从而得到系统函数H(Z)。根据所要设计要求将高通数字滤波器指标转化为低通模拟滤波器技术指标,主要利用双线性变换式Ω=2/ Ttan(W/2)。

滤波器设计中主要用到的函数:

Buttord函数用来选择巴特沃斯滤波器最小阶数,调用方式如下:

[n,wn]=buttord(Wp,Ws,rp,rs,'s') :返回符合要求性能指标的数字滤波器最小阶数n和巴特沃斯滤波器截止频率wn;

[n,wn]=buttord(Wp,Ws,rp,rs):(同上)此处Wp,Ws都是归一化频率。

[z,p,k]=buttap(n):返回设计的巴特沃斯滤波器的零点(z),极点(p)和增益(k),n为滤波器阶数。

[b,a]=zp2tf(z,p,k):零极点增益滤波器参数转换为传输函数形式,b,a分别为传输函数的分子分母。

[bt,at]=lp2hp(b,a,wn):模拟低通滤波器参数转化为模拟高通滤波器参数。

[bd,ad]=bilinear(bt,at,Fs); %模拟高通滤波器参数转化为数字高通滤波器参数。Fs为采样频率。

[sos,g]=tf2sos(bd,ad,'order'):将传递函数模型转化为二次分式模型sos。'order'指定sos中行的顺序:

Up:首行中所包含的极点离原点最近,离单位圆最远;

Down:首行中所包含的极点离原点最远,离单位圆最近;

与画图有关的函数:

(1)Zplane(b,a):绘制系统零极点图;

(2)求解数值滤波器频率响应函数:

1)freqz(b,a,n):无输出参数,直接在当前命令窗口绘制频率响应的幅频响应(dB形式的)和相频响应。

2)[H,W]=freqz(b,a,n):返回数字滤波器的n点复频率响应。

四:实验步骤简述

(1)先将数字高通滤波器技术指标转化为模拟低通滤波器技术指标。

(2)确定滤波器最小阶数.

(3)确定零极点增益。

(4)由零极点增益确定模拟低通滤波器传输函数。

(5)将模拟低通滤波器传输函数转换成模拟高通滤波器传输函数。

(6)利用双线性变法将模拟高通滤波器转换成数字滤波器。

(7)利用传递函数模型求其二次分式模型sos。

(8)绘制相关幅度频谱图。

五:程序框图

六:源程序:

clc; close; clear;

Fs=20000;

T=1/Fs;

%数字高通技术指标转化为模拟低通技术指标

fs=4000; fp=5000;

rp=0.5; rs=10;

ws=fp*2*pi*T; wp=fs*2*pi*T;

Wp=2/T*tan(wp/2); Ws=2/T*tan(ws/2);

%*******************滤波器设计************************************************** [N,wn]=buttord(Wp,Ws,rp,rs,'s')%根据技术指标选择数字滤波器最小阶数,巴特沃斯截止频率[z,p,k]=buttap(N);%%返回设计的巴特沃斯滤波器的零点极点和增益

[b,a]=zp2tf(z,p,k);%零极点增益滤波器参数转换为传输函数形式

[bt,at]=lp2hp(b,a,wn);%模拟低通转化为模拟高通

[bd,ad]=bilinear(bt,at,Fs); %模拟高通转化为数字高通

%模拟低通和数字高通二阶基本节系数顺序表

[sos,g]=tf2sos(b,a,'up')

[sos,g]=tf2sos(bd,ad,'up')

%******************相关设计图***************************************************

%模拟低通和数字高通零极点图

figure(1);

subplot(121);

zplane(b,a); gtext('模拟低通零极点图');

set(gcf,'defaultAxesLinestyleOrder','-|:');

set(gcf,'defaultAxesColorOrder',[1 0 0;0 0 1]);%按先后顺序对图形线条进行颜色设置subplot(122);

zplane(bd,ad);gtext('数字高通零极点图');

pause;

figure(2);

%滤波器幅频特性图

freqz(bd,ad,100);

axis([0 1 -40 0]);

pause;

figure(3);

[H,W]=freqz(bd,ad,100);%求出数字滤波器幅频特性

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

axis([0 8000 0 1.5]);

xlabel(' 频率 f/HZ '); ylabel('归一化幅度 ');

title('滤波器');

grid on;

pause;

close all;

七:程序结果及图表

滤波器阶数N=7

数字高通滤波器二阶基本节系数按“up(首行中所包含的极点离原点最近,离单位圆最远)”排列: sos =

1.0000 -0.9900 0 1.0000 -0.0783 0

1.0000 -

2.0181 1.0182 1.0000 -0.1647 0.0582

1.0000 -

2.0044 1.0045 1.0000 -0.1927 0.2377

1.0000 -1.9874 0.9876 1.0000 -0.2552 0.6396

g =

0.0279

分子系数

1.0000 -0.9900 0

1.0000 -

2.0181 1.0182

1.0000 -

2.0044 1.0045

1.0000 -1.9874 0.9876

分母系数:

1.0000 -0.0783 0

1.0000 -0.1647 0.0582

1.0000 -0.1927 0.2377

1.0000 -0.2552 0.6396

图(1):

图(2):以dB 为单位的幅度谱图及相位—频率图:

Normalized Frequency (?π rad/sample)

P h a s e (d e g r e e s

)

Normalized Frequency (?π rad/sample)

M a g n i t u d e (d B )

图(3):数字高通滤波器幅度频谱图:

00.51

1.5

频率 f/HZ

归一化幅度

滤波器

八:实验总结

在本次试验中,我熟练的掌握了用模拟低通巴特沃斯滤波器设计数字高通滤波器的方法。本次设计重在设计思维的建立及其所用函数的熟练掌握。

在进行具体设计时,主要抓住“给定条件”,“目的要求”展开设计构架。根据“目的要求”:用模拟低通巴特沃斯滤波器设计数字高通滤波器;可知主要设计出传输函数H(Z)。再结合“给定条件”:数字高通滤波器技术指标;设计出系统框图。最终应用相关函数编辑出具体代码,在进行调试。

在本次试验中我遇到一个小问题:二阶基本节系数矩阵sos为什么是“4行3列”,而不是“1行3列”,最终我找到了答案:在本题中二次分式形式的传输函数H(Z)是由4个二阶基本节串联而成,因此是“4行3列”。

本次实验我掌握了利用双线性变换法设计滤波器的方式方法,相对成功的设计出要求的高通数字滤波器,达到了实验要求及实验目的。

题目七:该题目的目的是说明一个PN扩频信号在抑制正弦干扰中的有效性。现考虑下图所示的二进制通信系统,对信号发生器的输出乘上一个二进制( 1)PN序列。同一个二进制PN序列用来与解调器输入相乘,因此消除了这个PN序列在期望信号上的影响。信道将传送信号受到一宽带加性噪声序列ω(n)和一正弦干扰序列i(n)=Asinω0n, 0<ω0<π的污损。可以假定A≥M,这里M是来自调制器的每比特的样本数。用和不用PN序列执行这个仿真系统,并在条件A≥M下,对不同的M值(如M=50,100,500,1000)测量差错率。画出每种情况的差错率曲线,作比较并说明结论。说明这个PN序列对于正弦干扰信号的效果。由此说明为什么PN扩频系统在正弦干扰信号存在下优于常规的二进制通信系统。

二:实验目的

(1)利用matlab实现一个简单的通信系统。

(2)了解扩频序列及其实现方法。

(3)在一个简单的通信系统,信号通过一个有噪声的系统,对加上PN序列和不加PN序列后的差错率比较,说明PN序列能有效的抑制正弦干扰信号,即PN扩频系统在正弦干扰信号存在下优于常规的二进制通信系统。

三:实验原理

原始信号S(n)与PN扩频序列相乘(异或实现)后,叠加正弦信号噪声,再加一般噪声后与PN序列相乘恢复出经过系统后的信号,选择不同的调制解调器的每比特的样本数,使恢复信号与原输入信号相比较后得到差错率。根据差错率可以证明PN扩频信号是否有利于通信系统中正弦噪声的抑制。

四:实验步骤简述

(1)理解PN序列概念,掌握产生二进制PN序列的方法。

(2)编写输入信号及正弦干扰信号和噪声信号子函数。

(3)编写主函数,按照通信系统模型,通过对子函数的调用实现有PN序列的通信系统和无PN序列的通信系统:

1): 有PN扩频序列时:原始信号S(n)与PN扩频序列相乘(异或实现)后,叠加正弦信号噪声,

再加一般噪声完成信号的调制和在信道中的传输;无PN扩频序列时:原始信号S(n)叠加正弦信号噪声,再加一般噪声完成信号的调制和在信道中的传输;

2): 设置合适门限,滤除噪声,通过与PN扩频序列相乘(有PN扩频序列时)和不与PN扩频序列

相乘(无PN扩频序列时)解调出信号;

3): 比较输入前后信号的差错率。

(4)画出输出不同门限下的“信噪比——差错率”图像。

五:程序框图

六:源程序

function []=diqi7()

wl=input('正弦干扰信号角频率在0~pi间且‘w0=pi*wl’,请输入w1=');

w0=pi*wl;

n=4;pg0=0;pg1=0;pg2=0;pg3=0;

while(1)

N=input('请选择解调器每比特的样本数M:\n1----M=50\n2----M=100\n3----M=500\n4----M=1000\n0----退出此题\n');

%参数设定:

if N==1

M=50; %原始信号的长度

A=60; %正弦信号的幅度

Z=50; %原始信号的幅度因子

B=15; %噪声幅度

pg0=pg0+15/(50+15);

p(n,A,M,Z,B,w0,pg0);

elseif N==2

M=100; A=110; Z=100; B=30; pg1=pg1+30/(100+30); p(n,A,M,Z,B,w0,pg1);

elseif N==3

M=500; A=550; Z=500; B=80; pg2=pg2+80/(500+80); p(n,A,M,Z,B,w0,pg2);

elseif N==4

M=1000; A=1100; Z=1000; B=130; pg3=pg3+130/(1000+130); p(n,A,M,Z,B,w0,pg3);

elseif N==0

clc; break;

end

end

pg=(pg0+pg1+pg2+pg3)/4 ;

%----------------------二进制数据的产生

function [er]=randout(M)

n=0:M;

er=rand(1,M);

j=1:M;

er(j)=er(j)>0.5; %使每个元素的值大于0.5

%-----------------------PN序列的产生

function [p_s]=pn(n,M)

a=zeros(1,n);

a(n)=1;

for i=1:1000

y(i)=a(n);

temp=mod(a(n-1)+a(n),2);

for j=n:-1:2

a(j)=a(j-1);

%改变a(n)序列

end

a(1)=temp; %改变a(n)序列

end

p_s=y(1:M); %取a(n)序列的最后一位元素生成pn序列

%----------------------正弦信号的产生

function [in]=sinout(A,w0,M)

j=1:M;

in=A*sin(w0*j);

%----------------------随机噪声的产生

function [ao]=aoout(M)

ao=rand(1,M);

%----------------------计算序列点数时信噪比与差错率的关系

function []=p(n,A,M,Z,B,w0,pg)

er=randout(M);

r=pn(n,M);

for k=1:25 %循环增加Z(信号的幅度)

Z=Z+B; %使调制后的序列幅度Z大于噪声幅度B

g=xor(er,r)*Z; %调制(逻辑异或)差分调制

q=sinout(A,w0,M);

x=g+q; %调制后序列加正弦信号

re=B*aoout(M); %生成噪声信号

x1=re+x; %加入噪声

r22=x1>pg; %设置一个门限pg,滤除噪声

r2=x1>Z/3; %设置一个门限Z/3,滤除噪声

r3=xor(r2,r); %解调

r33=xor(r22,r);

i=1:M;

r4=er(i)~=r3(i); %检测

r44=er(i)~=r33(i);

r5=length(find(r4)); %计算错误的个数(计算r4中元素取1的个数)

r55=length(find(r44));

cc(k)=r5/M; %错误的概率

ccc(k)=r55/M;

%**************计算信号的平均功率

i=1:M;xg=0;

xg=xg+g(i).^2;

xgp=xg/M;

%*****************计算噪声的平均功率

j=1:M; za=0;

za=za+q(j).^2+re(j).^2;

zap=za/M;

%*****************计算信噪比

sn(k)=xgp/zap;

%----------------不加PN序列

h=er*Z; %原始信号乘幅度因子

x2=h+re+q; %信号序列加正弦信号和噪声信号(不与PN序列调制) r66=x2>pg; %设置一个门限pg,滤除噪声

r6=x2>Z/3; %设置一个门限z/3,滤除噪声

%误码的概率

i=1:M;

r77=er(i)~=r66(i);

r7=er(i)~=r6(i);

r88=length(find(r77));

r8=length(find(r7));

cd(k)=r8/M;

cdd(k)=r88/M;

%计算信号的平均功率

i=1:M;xgo=0;

xgo=xgo+h(i).^2;

xgog=xgo/M;

%计算噪声的平均功率

j=1:M; os=0;

os=os+q(j).^2+re(j).^2;

osst=os/M;

sd(k)=xgog/osst; %计算信噪比

end

%******************画信噪比与差错率曲线

figure(1);

h1=figure(1); set(h1,'name','判决门限为均值pg时的差错率','color',[0 1 0.5]);

subplot(211);

stem(sn,ccc,'vk'); hold on; stem(sd,cdd,'.m'); %输出有PN序列的图和输出没有PN序列的图xlabel('信噪比'); ylabel('差错率');

title('信噪比与差错率曲线'); grid on;

subplot(212);

plot(sn,ccc,':k'); hold on; plot(sd,cdd,':m');

legend('有PN序列的差错率曲线','无PN序列的差错率曲线');

figure(2);

h2=figure(2); set(h2,'name','判决门限为Z/3时的差错率','color',[0 1 0.5]);

subplot(211);

stem(sn,cc,'or');hold on; stem(sd,cd,'xb'); %输出有PN序列的图和输出没有PN序列的图

xlabel('信噪比'); ylabel('差错率');

title('信噪比与差错率曲线'); grid on;

subplot(212);

plot(sn,cc,':r'); hold on; plot(sd,cd,':b');

legend('有PN序列的差错率曲线','无PN序列的差错率曲线');

七:程序结果及图表

菜单:

正弦干扰信号角频率在0~pi间且‘w0=pi*wl’,请输入w1=

请选择解调器每比特的样本数M:

1----M=50

2----M=100

3----M=500

4----M=1000

0----退出此题

运行:

当w1=0.8

解调器每比特的样本数M:4----M=1000:

(1)判决门限为Z/3(Z:进入解调器的传输信号幅度)时:

0.10.20.3

0.4信噪比

判决门限为Z /3时的差错率

信噪比与差错率曲线

024681012

0.10.20.30.4

(2

)判决门限为pg(M 取不同值时进入解调器的传输信号幅度的平均值)时:

024

681012

0.10.20.3

0.4信噪比

判决门限为均值p g 时的差错率

信噪比与差错率曲线

2

4

6

8

10

12

0.29

0.30.310.320.330.34

当w1=0.2

解调器每比特的样本数M :4----M=1000: (1)

0.10.20.3

0.4信噪比

判决门限为Z /3时的差错率

信噪比与差错率曲线

012345678910

0.10.20.30.4

(2):

01234

5678910

0.10.20.3

0.4信噪比

判决门限为均值p g 时的差错率

信噪比与差错率曲线

012345678910

0.29

0.30.310.32

请选择解调器每比特的样本数M :1----M=50

0.10.20.3

0.4信噪比

判决门限为Z /3时的差错率

信噪比与差错率曲线

0510********

0.10.20.30.4

0510

15202530

0.10.20.3

0.4判决门限为均值p g 时的差错率

信噪比与差错率曲线

5

1015202530

0.30.310.320.330.340.35

请选择解调器每比特的样本数M :2----M=100

0.10.20.3

0.4信噪比

判决门限为Z /3时的差错率

信噪比与差错率曲线

051015202530354045

0.10.20.30.4

051015

202530354045

0.10.20.3

0.4信噪比

判决门限为均值p g 时的差错率

信噪比与差错率曲线

5

10

15

20

25

30

35

40

45

0.29

0.30.310.320.330.34

请选择解调器每比特的样本数M :3----M=500

信噪比

判决门限为Z /3时的差错率

信噪比与差错率曲线

0.10.20.3

0.4信噪比

判决门限为均值p g 时的差错率

信噪比与差错率曲线

0.27

0.280.290.30.31

结论:1: 在通信系统中,PN 扩频信号能有效抑制正弦干扰信号。

2:不同的噪声门限对差错率有一定影响。噪声门限为pg 所得的曲线起伏小,但有PN 序列的图和没有

PN 序列的图对比明显;z/3所得的曲线起伏大,但有PN 序列的图和没有PN 序列的图贴的较近,对比

不明显。

3:正弦干扰信号角频率越大,同一通信系统的差错率越高。 八:实验总结

在做这道题目时,我相对苦恼。因为这是关于一个通信系统仿真实验,我有通信原理课程的学习基础,但关于“PN 序列”,我是一无所知,另外又找不到相关方面的有利资料,一时难以下手。最后还是通过对现成的PN 序列代码的学习理解才得以继续此题。

本道题有题目提供的系统构架,整体思路及框图设计相对容易。重在差错率求解程序设计上,在此段程序设计时重在噪声门限的选取,不同的门限对差错率有很大影响,同时也决定着绘制出信噪比差错率曲线图的对比鲜明度。在做本题时我设置了2种门限:pg 是取各次噪声幅度占总信号幅度的均值; z/3是根据观察各次噪声幅度大约占总信号幅度的1/3所取。最终pg 所得的曲线起伏小,但有PN 序列的图和没有PN 序列的图对比明显;z/3所得的曲线起伏大,但有PN 序列的图和没有PN 序列的图贴的较近,对比不明显。

通过本次试验,我对PN 扩频信号在通信系统中的用法及作用有了一定的认识同时也加深了我对通信系统的认识。

题目八:设原N 点序列的DFT 为验证以下序列的DFT 与X(k)的关系: 1:1(2),()0x n n x n n ?=?

?为偶数,为奇数

, 2:x 2(n)=x(2n),3:x 3(n)=x(2n+1),

4:x 4(n)=x((n))N R 2N (n),5:x 5(n)=[x(n)+x(n+N/2)],6:x 6(n)=[x(n)-x(n+n/2)]n

N W

7:7(),0()0,21

x n n N

x n N n N ≤≤?=?

≤≤-?

二:实验目的

通过输出原序列x (n )的DFT 验证题目中由x (n )变形后得到的不同序列的DFT 和X (K )的关系。 三:实验原理

根据原序列x (n )的DFT ——X(K)与题目中不同序列的DFT 得到不同情况下时域与频域的变化关系。按照题目要求确定新序列及其长度,利用快速傅里叶变换函数fft,得到其离散傅里叶变化。 四:实验步骤简述

(1):确定原N 点序列x (n ),利用fft 函数求其DFT ; (2):根据题目要求确定新序列y (n )及其长度 “N “,利用fft 函数求其DFT ; (3):根据新序列长度,利用画图函数做出相应序列时域、频域图。 五:程序框图

六:源程序

function []=main() clear all ; clc; while (1)

Q=input('请选择输入序列类型M:\n1----函数序列\n2----任意值序列\n0----退出此题\n'); %参数设定:

if Q==1

N=input('输入序列长度N=');

n=1:N;

x=input('输入函数序列x(n)=');

jh(x,N);

elseif Q==2

x=input('输入任意值序列x([x1,x2,x3,x4...]):');

N=length(x)

jh(x,N);

elseif Q==0

break;

end

end

function []=jh(x,N)

m=fix(N/2);mm= fix((N-1)/2);

%*********生成序列x(n)并算出其DFT

n=1:N;

xk=fft(x(n),N);

x

xk

%********生成序列x1(n)并算出其DFT

y1=zeros(1,N);

for i=1:N

if (mod(i,2)==0)

y1(i)=x(i/2);

else

y1(i)=0;

end

end

yk1=fft(y1,N);

y1

yk1

%********生成序列x2(n)并算出其DFT

y2=zeros(1,m);

for i=1:m

y2(i)=x(2*i);

end

n=1:m;

yk2=fft(y2,m);

y2

yk2

%********生成序列x3(n)并算出其DFT

y3=zeros(1,mm);

for i=1:mm

y3(i)=x(2*i+1);

end

n=1:mm ;

yk3=fft(y3,mm);

y3

yk3

figure(2);

%*********生成序列x4(n)并算出其DFT

y4=zeros(1,2*N); for i=1:N

y4(i)=x(i);

end

for i=N+1:2*N y4(i)=x(i-N);

end

n=1:2*N;

yk4=fft(y4,2*N);

y4

yk4

%*********生成序列x5(n)并算出其DFT

y5=zeros(1,m);

for i=1:m

y5(i)=x(i)+x(i+m);

end

n=1:m;

yk5=fft(y5,m);

y5

yk5

%**********生成序列x6(n)并算出其DFT

y6=zeros(1,m);

for i=1:m

y6(i)=(x(i)-x(i+m))*(exp(-j*2*pi/N*i)); end

yk6=fft(y6,m); n=1:m;

y6

yk6

%*********生成序列x7(n)并算出其DFT画图

y7=zeros(1,2*N); for i=1:N

y7(i)=x(i);

end

for i=N+1:2*N y7(i)=0;

end

n=1:2*N;

yk7=fft(y7,2*N);

y7

yk7

%%%%%%%%%%%%%%%%%%%%%%%%% DFT图

figure(1);

k=1:N; subplot(2,2,1);stem(k,xk);title('\fontsize{16}原序列x(n)的DFT'); ht=get(gca,'title');set(ht,'color',[1 0 1]);

k=1:N; subplot(2,2,2);stem(k,yk1);title('\fontsize{16}y1(n)的DFT');

ht=get(gca,'title');set(ht,'color',[1 0 1]);

k=1:m; subplot(2,2,3); stem(k,yk2);title('\fontsize{16}y2(n)的DFT');

ht=get(gca,'title');set(ht,'color',[1 0 1]);

k=1:mm; subplot(2,2,4);stem(k,yk3);title('\fontsize{16}y3(n)DFT');

ht=get(gca,'title');set(ht,'color',[1 0 1]);

figure(2);

k=1:2*N; subplot(2,2,1);stem(k,yk4);title('\fontsize{16}y4(n)的DFT');

ht=get(gca,'title');set(ht,'color',[1 0 1]);

k=1:m; subplot(2,2,2); stem(k,yk5);title('\fontsize{16}y5(n)的DFT');

ht=get(gca,'title');set(ht,'color',[1 0 1]);

k=1:m; subplot(2,2,3);stem(k,yk6);title('\fontsize{16}y6(n)的DFT');

ht=get(gca,'title');set(ht,'color',[1 0 1]);

k=1:2*N; subplot(2,2,4);stem(k,yk7);title('\fontsize{16}y7(n)的DFT');

ht=get(gca,'title');set(ht,'color',[1 0 1]); %%%%%%%%%%%%%%%%%%%%%%%%% 离散序列图

figure(3);

n=1:N; subplot(2,2,1);stem(n,x(n),'o');title('\fontsize{16}x(n)');

ht=get(gca,'title');set(ht,'color',[1 0 1]);

n=1:N; subplot(2,2,2); stem(n,y1);title('\fontsize{16}y1(n)');

ht=get(gca,'title');set(ht,'color',[1 0 1]);

n=1:m; subplot(2,2,3); stem(n,y2);title('\fontsize{16}x2(n)');

ht=get(gca,'title');set(ht,'color',[1 0 1]);

n=1:mm; subplot(2,2,4);stem(n,y3,'o');title('\fontsize{16}y3(n)');

ht=get(gca,'title');set(ht,'color',[1 0 1]);

figure(4);

n=1:2*N; subplot(2,2,1); stem(n,y4);title('\fontsize{16}y4(n)');

ht=get(gca,'title');set(ht,'color',[1 0 1]);

n=1:m; subplot(2,2,2); stem(n,y5);title('\fontsize{16}y5(n)');

ht=get(gca,'title');set(ht,'color',[1 0 1]);

n=1:m; subplot(2,2,3);stem(n,y6,'o');title('\fontsize{16}y6(n)');

ht=get(gca,'title');set(ht,'color',[1 0 1]);

n=1:2*N; subplot(2,2,4); stem(n,y7);title('\fontsize{16}y7(n)');

ht=get(gca,'title');set(ht,'color',[1 0 1]);

七:程序结果及图表

菜单:

请选择输入序列类型M:

1----函数序列

2----任意值序列

0----退出此题

运行:

请选择输入序列类型M:

1----函数序列

2----任意值序列

0----退出此题

选1时:

输入序列长度N=12

输入函数序列x(n)=sin(n)

各原始序列图:

x =

0.8415 0.9093 0.1411 -0.7568 -0.9589 -0.2794 0.6570 0.9894 0.4121 -0.5440 -1.0000 -0.5366

y1 =

0 0.8415 0 0.9093 0 0.1411 0 -0.7568 0 -0.9589 0 -0.2794 y2 =

0.9093 -0.7568 -0.2794 0.9894 -0.5440 -0.5366

y3 =

0.1411 -0.9589 0.6570 0.4121 -1.0000

MATLAB课程设计报告

华东交通大学MATLAB程序设计报告书 课题名称:基于MATLAB的粒子群优化算法的实现 姓名: 学号:20160280800014 专业:控制科学与工程 2016年 11月 20日

基于MATLAB的粒子群优化算法的实现 一、课程选题目的 本次课程设计的课题为《基于MATLAB的粒子群优化算法的实现》,主要为学会运用MATLAB对实际算法编程,加深对粒子群优化算法的理解,并为今后熟练使用MA TLAB进行系统的分析仿真和设计奠定基础。数值计算分析可以帮助更深入地理解理论知识,并为将来使用MA TLAB进行各领域数值分析分析和实际应用打下基础。 此次课程主要是为了进一步熟悉对MATLAB软件的使用,以及学会利用MA TLAB对数值运算这种实际问题进行处理,将理论应用于实际,加深对它的理解。 二、粒子群优化算法原理 优化是科学研究、工程技术和经济管理等领域的重要研究工具。它所研究的问题是讨论在众多的方案中寻找最优方案。例如,工程设计中怎样选择设计参数,使设计方案既满足设计要求又能降低成本;资源分配中,怎样分配有限资源,使分配方案既能满足各方面的基本要求,又能获得好的经济效益。在人类活动的各个领域中,诸如此类,不胜枚举。优化这一技术,正是为这些问题的解决,提供理论基础和求解方法,它是一门应用广泛、实用性很强的科学。近十余年来,粒子群优化算法作为群体智能算法的一个重要分支得到了广泛深入的研究,在路径规划等许多领域都有应用。 2.1 粒子群优化算法的起源 粒子群优化(PSO)算法是由Kennedy和Eberhart于1995年用计算机模拟鸟群觅食这一简单的社会行为时,受到启发,简化之后而提出的。 设想这样一个场景:一群鸟随机的分布在一个区域中,在这个区域里只有一块食物。所有的鸟都不知道食物在哪里。但是他们知道当前的位置离食物还有多远。那么找到食物的最优策略是什么呢。最简单有效的方法就是追寻自己视野中目前离食物最近的鸟。如果把食物当作最优点,而把鸟离食物的距离当作函数的适应度,那么鸟寻觅食物的过程就可以当作一个函数寻优的过程。鱼群和鸟群的社会行为一直引起科学家的兴趣。他们以特殊的方式移动、同步,不会相互碰撞,整体行为看上去非常优美。生物学家CargiReynolds提出了一个非常有影响的鸟群聚集模型。在他的模拟模型boids中,每一个个体遵循:避免与邻域个体相冲撞、匹配邻域个体的速度、试图飞向感知到的鸟群中心这三条规则形成简单的非集中控制算法驱动鸟群的聚集,在一系列模拟实验中突现出了非常接近现实鸟群聚集行为的现象。该结果显示了在空中回旋的鸟组成轮廓清晰的群体,以及遇到障碍物时鸟群的分裂和再度汇合过程。由此受到启发,经过简化提出了粒子群优化算法。 2.2粒子群优化算法的原理 在粒子群优化算法中,每个优化问题的潜在解都是搜索空间中的一只鸟,称之为“粒子”。所有的粒子都有一个由被优化的函数决定的适应值,每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索。优化开始时先初始化为一群随机粒子(随机解)。然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个极值来更新自己。第一个极值就是整个种群目前找到的最优解。这个极值是全局极值。另外也可以不用整个种群而只是用其中一部分作为粒子的邻居,那么在所有邻居中的极值就是局部极值。第二个极值是粒子本身所找到的最优解,称为个体极值。这是因为粒子仅仅通过跟踪全局极值或者局部极值来更新位置,不可能总是获得较好的解。这样在优化过程中,粒子在追随全局极值或局部极值的同时追随个体极值则圆满的解决了这个问题。这就是粒子群优化

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

抽样定理的应用 摘要 抽样定理表示为若频带宽度有限的,要从抽样信号中无失真地恢复原信号,抽样频率应大于2倍信号最高频率。抽样频率小于2倍频谱最高频率时,信号的频谱有混叠。抽样频率大于2倍频谱最高频率时,信号的频谱无混叠。 语音信号处理是研究用数字信号处理技术和语音学知识对语音 信号进行处理的新兴学科,是目前发展最为迅速的学科之一,通过语音传递信息是人类最重要,最有效,最常用和最方便的交换信息手段,所以对其的研究更显得尤为重要。 Matlab语言是一种数据分析和处理功能十分强大的计算机应用 软件,它可以将声音文件变换成离散的数据文件,然后用起强大的矩阵运算能力处理数据。这为我们的本次设计提供了强大并良好的环境! 本设计要求通过利用matlab对模拟信号和语音信号进行抽样,通过傅里叶变换转换到频域,观察波形并进行分析。 关键词:抽样Matlab

目录 一、设计目的: (2) 二、设计原理: (2) 1、抽样定理 (2) 2、MATLAB简介 (2) 3、语音信号 (3) 4、Stem函数绘图 (3) 三、设计内容: (4) 1、已知g1(t)=cos(6πt),g2(t)=cos(14πt),g3(t)=cos(26πt),以抽样频率 fsam=10Hz对上述三个信号进行抽样。在同一张图上画出g1(t),g2(t),g3(t)及其抽样点,对所得结果进行讨论。 (4) 2、选取三段不同的语音信号,并选取适合的同一抽样频率对其进 行抽样,画出抽样前后的图形,并进行比较,播放抽样前后的语音。 (6) 3、选取合适的点数,对抽样后的三段语音信号分别做DFT,画图 并比较。 (10) 四、总结 (12) 五、参考文献 (13)

dsp课程设计实验报告

DSP 课程设计实验 一、语音信号的频谱分析: 要求首先画出语音信号的时域波形,然后对语音信号进行频谱分析。在MATLAB 中,可以利用函数fft 对信号进行快速傅立叶变换,得到信号的频谱特性,从而加深对频谱特性的理解。 其程序为: >> [y,fs,bits]=wavread('I:\',[1024 5120]); >> sound(y,fs,bits); >> Y=fft(y,4096); >> subplot(221);plot(y);title('原始信号波形'); | >> subplot(212);plot(abs(Y));title('原始信号频谱'); 程序运行结果为: 二、设计数字滤波器和画出频率响应: 根据语音信号的特点给出有关滤波器的性能指标: 低通滤波器性能指标,p f =1000Hz ,c f =1200Hz ,s A =100dB ,p A =1dB ; 高通滤波器性能指标,c f =4800Hz ,p f =5000Hz ,s A =100dB ,p A =1dB ; 带通滤波器性能指标,1p f =1200Hz ,2p f =3000Hz ,1c f =1000Hz ,2c f =3200Hz ,s A =100dB , p A =1dB ;

】 要求学生首先用窗函数法设计上面要求的三种滤波器,在MATLAB中,可以利用函数firl 设计FIR滤波器;然后再用双线性变换法设计上面要求的三种滤波器,在MATLAB中,可以利用函数butte、cheby1和ellip设计IIR滤波器;最后,利用MATLAB中的函数freqz画出各种滤波器的频率响应,这里以低通滤波器为例来说明设计过程。 低通: 用窗函数法设计的低通滤波器的程序如下: >> fp=1000;fc=1200;As=100;Ap=1;fs=22050; >> wc=2*fc/fs;wp=2*fp/fs; >> N=ceil(/*(wc-wp)/2))+1; >> beta=*; >> Win=Kaiser(N+1,beta); 、 >>b=firl(N,wc,Win); >>freqz(b,1,512,fs); 程序运行结果: 这里选用凯泽窗设计,滤波器的幅度和相位响应满足设计指标,但滤波器长度(N=708)太长,实现起来很困难,主要原因是滤波器指标太苛刻,因此,一般不用窗函数法设计这种类型的滤波器。 用双线性变换法设计的低通滤波器的程序如下: >> fp=1000;fc=1200;As=100;Ap=1;fs=22050; >> wc=2*fc/fs;wp=2*fp/fs; 》 >> [n,wn]=ellipord(wp,wc,Ap,As); >> [b,a]=ellip(n,Ap,As,wn); >> freqz(b,a,512,fs); ^

通信原理课程设计报告(基于Matlab)

2DPSK调制与解调系统的仿真 设计原理 (1) 2DPSK信号原理 1.1 2DPSK信号原理 2DPSK方式即是利用前后相邻码元的相对相位值去表示数字信息的一种方式。现假设用Φ表示本码元初相与前一码元初相之差,并规定:Φ=0表示0码,Φ=π表示1码。则数字信息序列与2DPSK信号的码元相位关系可举例表示如2PSK信号是用载波的不同相位直接去表示相应的数字信号而得出的,在接收端只能采用相干解调,它的时域波形图如图2.1所示。 图1.1 2DPSK信号 在这种绝对移相方式中,发送端是采用某一个相位作为基准,所以在系统接收端也必须采用相同的基准相位。如果基准相位发生变化,则在接收端回复的信号将与发送的数字信息完全相反。所以在实际过程中一般不采用绝对移相方式,而采用相对移相方式。定义为本码元初相与前一码元初相之差,假设: →数字信息“0”; →数字信息“1”。 则数字信息序列与2DPSK信号的码元相位关系可举例表示如下: 数字信息: 1 0 1 1 0 1 1 1 0 1 DPSK信号相位:0

或 : 1.2 2DPSK 信号的调制原理 一般来说,2DPSK 信号有两种调试方法,即模拟调制法和键控法。2DPSK 信号的的模拟调制法框图如图1.2.1所示,其中码变换的过程为将输入的单极性不归零码转换为双极性不归零码。 图1.2.1 模拟调制法 2DPSK 信号的的键控调制法框图如图1.2.2所示,其中码变换的过程为将输入的基带信号差分,即变为它的相对码。选相开关作用为当输入为数字信息“0” 时接相位0,当输入数字信息为“1”时接pi 。 图1.2.2 键控法调制原理图 1.3 2DPSK 信号的解调原理 2DPSK 信号最常用的解调方法有两种,一种是极性比较和码变换法,另一种是差分相干解调法。 码变换 相乘 载波 s(t) e o (t)

数字信号处理课设+语音信号的数字滤波

语音信号的数字滤波 ——利用双线性变换法实现IIR数字滤波器的设计一.课程设计的目的 通过对常用数字滤波器的设计和实现,掌握数字信号处理的工作原理及设计方法;熟悉用双线性变换法设计 IIR 数字滤波器的原理与方法,掌握利用数字滤波器对信号进行滤波的方法,掌握数字滤波器的计算机仿真方法,并能够对设计结果加以分析。 二.设计方案论证 1.IIR数字滤波器设计方法 IIR数字滤波器是一种离散时间系统,其系统函数为 假设M≤N,当M>N时,系统函数可以看作一个IIR的子系统和一个(M-N)的FIR子系统的级联。IIR数字滤波器的设计实际上是求解滤波器的系数和,它 是数学上的一种逼近问题,即在规定意义上(通常采用最小均方误差准则)去逼近系统的特性。如果在S平面上去逼近,就得到模拟滤波器;如果在z平面上去逼近,就得到数字滤波器。 2.用双线性变换法设计IIR数字滤波器 脉冲响应不变法的主要缺点是产生频率响应的混叠失真。这是因为从S平面到Z平面是多值的映射关系所造成的。为了克服这一缺点,可以采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到-π/T~π/T之间,再用z=e sT转换 平面的-π/T~π到Z平面上。也就是说,第一步先将整个S平面压缩映射到S 1 /T一条横带里;第二步再通过标准变换关系z=e s1T将此横带变换到整个Z平面上去。这样就使S平面与Z平面建立了一一对应的单值关系,消除了多值变换性,也就消除了频谱混叠现象,映射关系如图1所示。 图1双线性变换的映射关系 为了将S平面的整个虚轴jΩ压缩到S1平面jΩ1轴上的-π/T到π/T段上,可以通过以下的正切变换实现

dsp课程设计实验报告总结

DSP课程设计总结(2013-2014学年第2学期) 题目: 专业班级:电子1103 学生姓名:万蒙 学号:11052304 指导教师: 设计成绩: 2014 年6 月

目录 一设计目的----------------------------------------------------------------------3 二系统分析----------------------------------------------------------------------3 三硬件设计 3.1 硬件总体结构-----------------------------------------------------------3 3.2 DSP模块设计-----------------------------------------------------------4 3.3 电源模块设计----------------------------------------------------------4 3.4 时钟模块设计----------------------------------------------------------5 3.5 存储器模块设计--------------------------------------------------------6 3.6 复位模块设计----------------------------------------------------------6 3.7 JTAG模块设计--------------------------------------------------------7 四软件设计 4.1 软件总体流程-----------------------------------------------------7 4.2 核心模块及实现代码---------------------------------------8 五课程设计总结-----------------------------------------------------14

MATLAB课设报告

课程设计任务书 学生姓名:董航专业班级:电信1006班 指导教师:阙大顺,李景松工作单位:信息工程学院 课程设计名称:Matlab应用课程设计 课程设计题目:Matlab运算与应用设计5 初始条件: 1.Matlab6.5以上版本软件; 2.课程设计辅导资料:“Matlab语言基础及使用入门”、“Matlab及在电子信息课程中的应 用”、线性代数及相关书籍等; 3.先修课程:高等数学、线性代数、电路、Matlab应用实践及信号处理类相关课程等。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1.课程设计内容:根据指导老师给定的7套题目,按规定选择其中1套完成; 2.本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析, 针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表),并对实验结果进行分析和总结。具体设计要求包括: ①初步了解Matlab、熟悉Matlab界面、进行简单操作; ②MATLAB的数值计算:创建矩阵矩阵运算、多项式运算、线性方程组、数值统计; ③基本绘图函数:plot, plot3, mesh, surf等,要求掌握以上绘图函数的用法、简单图形 标注、简单颜色设定等; ④使用文本编辑器编辑m文件,函数调用; ⑤能进行简单的信号处理Matlab编程; ⑥按要求参加课程设计实验演示和答辩等。 3.课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包括: ①目录; ②与设计题目相关的理论分析、归纳和总结; ③与设计内容相关的原理分析、建模、推导、可行性分析; ④程序设计框图、程序代码(含注释)、程序运行结果和图表、实验结果分析和总结; ⑤课程设计的心得体会(至少500字); ⑥参考文献(不少于5篇); ⑦其它必要内容等。 时间安排:1.5周(分散进行) 参考文献: [1](美)穆尔,高会生,刘童娜,李聪聪.MA TLAB实用教程(第二版) . 电子工业出版社,2010. [2]王正林,刘明.精通MATLAB(升级版) .电子工业出版社,2011. [3]陈杰. MA TLAB宝典(第3版) . 电子工业出版社,2011. [4]刘保柱,苏彦华,张宏林. MATLAB 7.0从入门到精通(修订版) . 人民邮电出版社,2010. 指导教师签名:年月日 系主任(或责任教师)签名:年月日

数字信号处理课设共18页文档

数字信号处理课程设计 姓名:刘倩 学号:201014407 专业:信息与计算科学 实验一:常见离散信号产生和实现 一、实验目的: 1、加深对常用离散信号的理解; 2、掌握matlab 中一些基本函数的建立方法。 二、实验原理: 1.单位抽样序列 在MATLAB 中可以利用zeros()函数实现。 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即: 2.单位阶越序列 在MATLAB 中可以利用ones()函数实现。 3.正弦序列 在MATLAB 中 4.复指数序列 在MATLAB 中 5.指数序列 在MATLAB 中

实验内容:由周期为10的正弦函数生成周期为20的余弦函数。 实验代码: n=0:30; y=sin(0.2*pi*n+pi/2); y1=sin(0.1*pi*n+pi/2); subplot(121) stem(n,y); xlabel ('时间序列n');ylabel('振幅');title('正弦函数序列y=sin(0.2*pi*n+pi/2)'); subplot(122) stem(n,y1); xlabel ('时间序列n');ylabel('振幅'); title('正弦函数序列y=sin(0.2*pi*n+pi/2)'); 实验结果: 实验二:离散系统的时域分析 实验目的:加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。实验原理:离散系统 其输入、输出关系可用以下差分方程描述: 输入信号分解为冲激信号, 记系统单位冲激响应 则系统响应为如下的卷积计算式:

当N k d k ,...2,1,0==时,h[n]是有限长度的(n :[0,M]),称系统为FIR 系统;反之,称系统为IIR 系统。 在MATLAB 中,可以用函数y=filter(p,d,x)实现差分方程的仿真,也可以用函数 y=conv(x,h)计算卷积,用y=impz(p,d,N)求系统的冲激响应。 实验内容:用MATLAB 计算全解 当n>=0时,求用系数差分方程y[n]+y[n-1]-6y[n-2]=x[n]描述的一个离散时间系统对阶跃输入x[n]=8μ[n]的全解。 实验代码: n=0:7; >> [y,sf]=filter(1,[1 1 -6],8*ones(1,8),[-7 6]); >> y1(n+1)=-1.8*(-3).^n+4.8*(2).^n-2; >> subplot(121) >> stem(n,y); >> title('由fliter 函数计算结果'); >> subplot(122) >> stem(n,y1); >> title('准确结果'); 实验结果: 结果分析:有图可得由fliter 函数得出的结果与计算出的准确结果完全一致。 实验三FFT 算法的应用

DSP实验报告

电气信息工程学院 D S P技术与综合训练 实验报告 班级 08通信1W 姓名丁安华 学号 08313115 指导老师倪福银刘舒淇 2011年09 月

目录 实验一 LED演示 1.1.实验目的 -------------------------------------------------P2 1. 2.实验设备-------------------------------------------------P2 1. 3.实验原理-------------------------------------------------P2 1. 4.实验程序设计流程------------------------------------------P3 1. 5.实验程序编写----------------------------------------------P4 1. 6.实验步骤-------------------------------------------------P7 1. 7.实验结果与分析--------------------------------------------P7实验二键盘输入 2.1.实验目的 -------------------------------------------------P8 2.2.实验设备-------------------------------------------------P8 2. 3.实验原理-------------------------------------------------P8 2. 4.实验程序设计流程------------------------------------------P9 2. 5.实验程序编写----------------------------------------------P10 2. 6.实验步骤-------------------------------------------------P14 2. 7.实验结果与分析--------------------------------------------P14实验三液晶显示器控制显示 3.1.实验目的 -------------------------------------------------P15 3.2.实验设备-------------------------------------------------P15 3.3.实验原理-------------------------------------------------P15 3. 4.实验程序设计流程------------------------------------------P17 3. 5.实验程序编写----------------------------------------------P18 3. 6.实验步骤-------------------------------------------------P22 3. 7.实验结果与分析--------------------------------------------P23实验四有限冲激响应滤波器(FIR)算法 4.1.实验目的 -------------------------------------------------P23 4.2.实验设备-------------------------------------------------P23 4.3.实验原理-------------------------------------------------P24 4.4.实验程序设计流程------------------------------------------P25 4. 5.实验程序编写----------------------------------------------P25 4. 6.实验步骤-------------------------------------------------P27 4. 7.实验结果与分析--------------------------------------------P28

matlab课程设计报告书

《计算机仿真及应用》课程设计报告书 学号:08057102,08057127 班级:自动化081 姓名陈婷,万嘉

目录 一、设计思想 二、设计步骤 三、调试过程 四、结果分析 五、心得体会 六、参考文献

选题一、 考虑如下图所示的电机拖动控制系统模型,该系统有双输入,给定输入)(t R 和负载输入)(t M 。 1、 编制MATLAB 程序推导出该系统的传递函数矩阵。 2、 若常系数增益为:C 1=Ka =Km =1,Kr =3,C2=0.8,Kb =1.5,时间常数T 1=5, T 2=0.5,绘制该系统的根轨迹、求出闭环零极点,分析系统的稳定性。若)(t R 和)(t M 分别为单位阶跃输入,绘制出该系统的阶跃响应图。(要求C 1,Ka ,Km ,Kr ,C2,Kb , T 1,T 2所有参数都是可调的) 一.设计思想 题目分析: 系统为双输入单输出系统,采用分开计算,再叠加。 要求参数均为可调,而matlb 中不能计算未赋值的函数,那么我们可以把参数设置为可输入变量,运行期间根据要求赋值。 设计思路: 使用append 命令连接系统框图。 选择‘参数=input('inputanumber:')’实现参数可调。 采用的方案: 将结构框图每条支路稍作简化,建立各条支路连接关系构造函数,运行得出相应的传递函数。 在得出传递函数的基础上,使用相应的指令求出系统闭环零极点、画出其根轨迹。 通过判断极点是否在左半平面来编程判断其系统是否稳定。 二.设计步骤 (1)将各模块的通路排序编号

(2)使用append命令实现各模块未连接的系统矩阵 (3)指定连接关系 (4)使用connect命令构造整个系统的模型 三.调试过程 出现问题分析及解决办法: 在调试过程出现很多平时不注意且不易寻找的问题,例如输入的逗号和分号在系统运行时不支持中文格式,这时需要将其全部换成英文格式,此类的程序错误需要细心。 在实现参数可调时初始是将其设为常量,再将其赋值进行系统运行,这样参数可调性差,后用‘参数=input('inputanumber:')’实现。 最后是在建立通路连接关系时需要细心。 四.结果分析 源代码: Syms C1 C2 Ka Kr Km Kb T1 T2 C1=input('inputanumber:') C2=input('inputanumber:') Ka=input('inputanumber:') Kr=input('inputanumber:') Km=input('inputanumber:') Kb=input('inputanumber:') T1=input('inputanumber:') T2=input('inputanumber:') G1=tf(C1,[0 1]); G2=tf(Ka*Kr,[0 1]); G3=tf(Km,[T1 1]); G4=tf(1,[T2 1]); G5=tf(1,[1 0]); G6=tf(-C2,1); G7=tf(-Kb,1); G8=tf(-1,1); Sys=append(G1,G2,G3,G4,G5,G6,G7,G8) Q=[1 0 0;2 1 6;3 2 7;4 3 8;5 4 0;6 5 0;7 4 0;8 0 0;]; INPUTS1=1; OUTPUTS=5; Ga=connect(Sys,Q,INPUTS1,OUTPUTS) INPUTS2=8; OUTPUTS=5; Gb=connect(Sys,Q,INPUTS2,OUTPUTS) rlocus(Ga)

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

数字信号处理课程设计报告《应用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('频域信号'); 运行程序得到的图形:

DSP实验报告

实验一 程序的控制与转移 一、实验目的 1、掌握条件算符的使用。 2、掌握循环操作指令(BNAZ )和比较操作指令(CMPR ) 二、实验设备 计算机、ZY13DSP12BD 实验箱、5402EVM 板。 三、实验原理 程序控制指令主要包括分支转移、子程序调用、子程序返回、条件操作及循环操作等。通过传送控制到程序存储器的其他位置,转移会中断连续的指令流。转移会影响在PC 中产生和保护的程序地址。其中转移可以分为两种形式的,一种是有条件的,另一种是无条件的。 四、实验内容 编写程序,实现计算y= ∑=5 1 i i x 的值。 五、实验步骤 1、用仿真机将计算机与ZY13DSP12BD 实验箱连接好,并依次打开实验箱电源、仿真机电源,然后运行CCS 软件。 2、新建一个项目:点击Project -New ,将项目命名为example2,并将项目保存在自己定义的文件夹下。 3、新建一个源文件example2.asm 。将该文件添加到工程example2.pjt 中。 4、在工程管理器中双击example2.asm ,编写源程序: .tiltle ”example2.asm ” .mmregs STACK .usect ”STACK ”,10H ;堆栈的设置 .bss x,5 ;为变量分配6个字的存储空间 .bss y,1 .def start .data table: .word 10,20,3,4,5 ;x1,x2,x3,x4,x5 .text Start: STM #0,SWWWSR ;插入0个等待状态 STM #STACK+10H,sp ;设置堆栈指针 STM #x,AR1 ;AR1指向x RPT #4 ;下一条被重复执行5遍 MVPD table,*AR1+ ;把程序存储器中的数据传送到数据存储器 LD #0,A ;A 清零 CALL SUM ;调用求和函数 end: B end SUM: STM #x,AR3 ;AR3指向x STM #4,AR2 ;AR2=4 loop: ADD *AR3+,A ;*AR3+A-->A,然后AR3+ BANZ loop,*AR2- ;如果AR2的值不为0,则跳到loop 处;否则执行下一条指令 STL A,*(y) ;把A 的低16位赋给变量y

matlab音频降噪课程设计报告

matlab音频降噪课程设计报告

燕山大学 医学软件课程设计说明书 题目:基于MATLAB巴特沃斯滤波器的音频去噪的GUI设计 学院(系):电气工程学院 年级专业: 13级生物医学工程 2 班 学号: 130103040041 学生姓名:魏鑫 指导教师:许全盛 1

院(系):电气工程学院基层教学单位:生物医学工程系 学号130103040041 学生 姓名 魏鑫 专业(班 级) 13级生 物医学 工程2 班 设计 题目 基于MATLAB音频去噪的GUI设计设 计 技术参数通带截止频率fp=2700;阻带截止频率fs=3000;采样频率FS=48000; 通带衰减不大于1dB;阻带衰减不小于10dB; 设计要求1.实现用MATLAB导入音频; 2.对音频进行频谱分析; 3.设计滤波器去噪并对含噪信号进行滤 2

波并进行功率谱分析; 4.设计能实现上述功能的GUI; 工作量1.完成音频录入及频谱分析相关程序的编写与调试; 2.设计滤波器去噪; 3.用MATLAB软件做GUI界面的设计; 工作计划11.21-11.24 MATLAB软件中GUIDE 工具箱的使用 11.25-11.29 各处理算法模块的编程实现 11.30-12.1 整体程序联调 12.2 撰写课程设计说明书,答辩 参考资料 1. 陈怀琛吴大正 MATLAB及在电子信息课程中的应用[M] 北京电子工业出版社 2006. 章节2.4; 2. 陈亚勇 MATLAB信号处理详解[M] 北京:人民邮电出版社 2000. 第十 3

章; 3.张康刘雅基于Matlab的巴特沃斯 数字低通滤波器的设计[J] 计算机与现代化 2007年 12期 98-100页 指导 教师签字许全盛 基层教学单 位主任签字 彭勇 目录 一、设计目的意义 (1) 1.1绪论 (1) 1.2设计目的 (1) 1.3意义 (1) 二、设计内容 (2) 2.1 设计原理 (2) 2.2 设计内容 (2) 三、设计过程及结果分析 (3) 3.1 设计步骤 (3) 4

数字信号处理课程设计

数字信号处理 课 程 设 计 院系:电子信息与电气工程学院 专业:电子信息工程专业 班级:电信班 姓名: 学号: 组员:

摘要 滤波器设计在数字信号处理中占有极其重要的地位,FIR数字滤波器和IIR 滤波器是滤波器设计的重要组成部分。利用MATLAB信号处理工具箱可以快速有效地设计各种数字滤波器。课题基于MATLAB有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进行时域、频域分析和滤波。通过理论推导得出相应结论,再利用 MATLAB 作为编程工具进行计算机实现。在设计实现的过程中,使用窗函数法来设计FIR数字滤波器,用巴特沃斯、切比雪夫和双线性变法设计IIR数字滤波器,并利用MATLAB 作为辅助工具完成设计中的计算与图形的绘制。通过对对所设计滤波器的仿真和频率特性分析,可知利用MATLAB信号处理工具箱可以有效快捷地设计FIR和IIR数字滤波器,过程简单方便,结果的各项性能指标均达到指定要求。 关键词数字滤波器 MATLAB 窗函数法巴特沃斯

目录 摘要 (1) 1 引言 (1) 1.1课程设计目的 (1) 1.2 课程设计内容及要求 (1) 1.3课程设计设备及平台 (1) 1.3.1 数字滤波器的简介及发展 (1) 1.3.2 MATLAB软件简介 (2) 2 课程设计原理及流程 (4) 3.课程设计原理过程 (4) 3.1 语音信号的采集 (4) 3.2 语音信号的时频分析 (5) 3.3合成后语音加噪声处理 (7) 3.3.1 噪声信号的时频分析 (7) 3.3.2 混合信号的时频分析 (8) 3.4滤波器设计及消噪处理 (10) 3.4.1 设计IIR和FIR数字滤波器 (10) 3.4.2 合成后语音信号的消噪处理 (13) 3.4.3 比较滤波前后语音信号的波形及频谱 (13) 3.4.4回放语音信号 (15) 3.5结果分析 (15) 4 结束语 (15) 5 参考文献 (16)

通信工程学院matlab课程设计报告

南京工程学院 课程设计说明书(论文)题目模拟信号的数字化 课程名称Matlab通信仿真设计 院(系、部、中心)通信工程学院 专业电子信息工程(传感网) 班级 学生姓名X X X 学号 2 0 8 1 1 0 7 3 2 设计地点信息楼C 216 指导教师潘子宇

设计起止时间:2014年1月10日至2014年 1 月14日

目录 一、内容摘要 (1) 二、课程设计目的和要求 (2) 三、课程设计任务 (2) 四、课程设计软件介绍 (3) 五、课程设计原理 (4) 六、PCM编码及仿真参数设置 (9) 七、PCM解码及仿真参数设置 (11) 八、PCM串行传输模型及仿真参数设置 (13) 九、课程设计成品图 (14) 十、SCOPE端的最终波形图 (14) 十一、主要参考文献 (15)

十二、总结与体会 (15) 一、内容摘要 MATLAB软件是矩阵实验室的简称,是美国M a t h W or k s公司出品的商业数学软件, 可用于算法开发、数据分析以及数值计算的高级技术计算语言和交互式环境, 广泛用于数字信号分析,系统识别,时序分析与建模, 神经网络、动态仿真等方面有着广泛的应用。主要包括MATLAB和Simulink两大部分。Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。 Simulink是MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI) ,这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。 Simulink是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统,Simulink提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。.

matlab车牌识别课程设计报告(附源代码)

Matlab程序设计任务书 分院(系)信息科学与工程专业 学生姓名学号 设计题目车牌识别系统设计 内容及要求: 车牌定位系统的目的在于正确获取整个图像中车牌的区域,并识别出车牌号。通过设计实现车牌识别系统,能够提高学生 分析问题和解决问题的能力,还能培养一定的科研能力。 1.牌照识别系统应包括车辆检测、图像采集、牌照识别等几 部分。 2.当车辆检测部分检测到车辆到达时,触发图像采集单元,采 集当前的视频图像。 3.牌照识别单元对图像进行处理,定位出牌照位置,再将牌 照中的字符分割出来进行识别,然后组成牌照号码输出。 进度安排: 19周:Matlab环境熟悉与基础知识学习 19周:课程设计选题与题目分析 20周:程序设计编程实现 20周:课程设计验收与答辩 指导教师(签字): 年月日学院院长(签字): 年月日 目录

一.课程设计目的 (3) 二.设计原理 (3) 三.详细设计步骤 (3) 四. 设计结果及分析 (18) 五. 总结 (19) 六. 设计体会 (20) 七. 参考文献 (21) 一、课程设计目的 车牌定位系统的目的在于正确获取整个图像中车牌的区域,并识别出车牌号。通过

设计实现车牌识别系统,能够提高学生分析问题和解决问题的能力,还能培养一定的科研能力。 二、设计原理: 牌照自动识别是一项利用车辆的动态视频或静态图像进行牌照号码、牌照颜色自动识别的模式识别技术。其硬件基础一般包括触发设备、摄像设备、照明设备、图像采集设备、识别车牌号码的处理机等,其软件核心包括车牌定位算法、车牌字符分割算法和光学字符识别算法等。某些牌照识别系统还具有通过视频图像判断车辆驶入视野的功能称之为视频车辆检测。一个完整的牌照识别系统应包括车辆检测、图像采集、牌照识别等几部分。当车辆检测部分检测到车辆到达时触发图像采集单元,采集当前的视频图像。牌照识别单元对图像进行处理,定位出牌照位置,再将牌照中的字符分割出来进行识别,然后组成牌照号码输出。 三、详细设计步骤: 1. 提出总体设计方案: 牌照号码、颜色识别 为了进行牌照识别,需要以下几个基本的步骤: a.牌照定位,定位图片中的牌照位置;

DSP技术与课程设计实验报告二(精)

东南大学自动化学院 实验报告 课程名称: D SP 原理及C 程序开发 第二次实验 实验名称:基于DSP 系统的实验——指示灯、拨码开关和定时器院(系):自动化专业:自动化 姓名:学号: 实验室:实验组别: 同组人员:实验时间:2012 年 4 月 18日 评定成绩:审阅教师: 第一部分实验:基于DSP 系统的实验——指示灯和拨码开关 一.实验目的 1. 了解ICETEK –F28335-A 评估板在TMS320F28335DSP 外部扩展存储空间上的扩展。 2. 了解ICETEK –F28335-A 评估板上指示灯和拨码开关扩展原理。 3. 学习在C 语言中使用扩展的控制寄存器的方法。 二.实验设备 计算机,ICETEK –F28335-A 实验箱(或ICETEK 仿真器+ICETEK–F28335-A 评估板+相关连线及电源)。 三.实验原理

1.TMS320F28335DSP 的存储器扩展接口 存储器扩展接口是DSP 扩展片外资源的主要接口,它提供了一组控制信号和地址、数据线,可以扩展各类存储器和存储器、寄存器映射的外设。 -ICETEK –F28335-A 评估板在扩展接口上除了扩展了片外SRAM 外,还扩展了指示灯、DIP 开关和D/A 设备。具体扩展地址如下: 0x180004- 0x180005:D/A 转换控制寄存器 0x180001:板上DIP 开关控制寄存器 0x180000:板上指示灯控制寄存器 -与ICETEK –F28335-A 评估板连接的ICETEK-CTR 显示控制模块也使用扩展空间控制主要设备: 208000-208004h :读-键盘扫描值,写-液晶控制寄存器 208002-208002h :液晶辅助控制寄存器 208003-208004h :液晶显示数据寄存器 2.指示灯与拨码开关扩展原理

数字图像处理 课程设计报告 matlab

欢迎阅读数字图像处理 课程设计报告 姓名: 学号: 班级: .net 设计题目:图像处理 教师:赵哲老师 提交日期: 12月29日

一、设计内容: 主题:《图像处理》 详细说明:对图像进行处理(简单滤镜,模糊,锐化,高斯模糊等),对图像进行处理(上下对称,左右对称,单双色显示,亮暗程度调整等),对图像进行特效处理(反色,实色混合,色彩平衡,浮雕效果,素描效果,雾化效果等), 二、涉及知识内容: 1、二值化 2、各种滤波 3、算法等 三、设计流程图 插入图片 对图片进行处理 二值化处理 重复 输出两幅图 结束 四、实例分析及截图效果: 运行效果截图: 第一步:读取原图,并显示 close all;clear;clc; % 清楚工作窗口clc 清空变量clear 关闭打开的窗口close all I=imread('1.jpg'); % 插入图片1.jpg 赋给I imshow(I);% 输出图I I1=rgb2gray(I);%图片变灰度图 figure%新建窗口

subplot(321);% 3行2列第一幅图 imhist(I1);%输出图片 title('原图直方图');%图片名称 一,图像处理模糊 H=fspecial('motion',40); %% 滤波算子模糊程度40 motion运动 q=imfilter(I,H,'replicate');%imfilter实现线性空间滤波函数,I图经过H滤波处理,replicate反复复制 q1=rgb2gray(q); imhist(q1); title('模糊图直方图'); 二,图像处理锐化 H=fspecial('unsharp');%锐化滤波算子,unsharp不清晰的 qq=imfilter(I,H,'replicate'); qq1=rgb2gray(qq); imhist(qq1); title('锐化图直方图'); 三,图像处理浮雕(来源网络) %浮雕图 l=imread('1.jpg'); f0=rgb2gray(l);%变灰度图 f1=imnoise(f0,'speckle',0.01); %高斯噪声加入密度为0.01的高斯乘性噪声 imnoise噪声污染图像函数 speckle斑点 f1=im2double(f1);%把图像数据类型转换为双精度浮点类型 h3=1/9.*[1 1 1;1 1 1;1 1 1]; %采用h3对图像f2进行卷积滤波 f4=conv2(f1,h3,'same'); %进行sobel滤波 h2=fspecial('sobel'); g3=filter2(h2,f1,'same');%卷积和多项式相乘 same相同的 k=mat2gray(g3);% 实现图像矩阵的归一化操作 四,图像处理素描(来源网络) f=imread('1.jpg'); [VG,A,PPG] = colorgrad(f); ppg = im2uint8(PPG); ppgf = 255 - ppg; [M,N] = size(ppgf);T=200; ppgf1 = zeros(M,N); for ii = 1:M for jj = 1:N if ppgf(ii,jj)

相关文档
相关文档 最新文档