信号与系统课设报告

时间:2024.4.7

一、           课程设计目的

 “信号与系统”是一门重要的专业基础课,MATLAB作为信号处理强有力的计算和分析工具是电子信息工程技术人员常用的重要工具之一。本课程设计基于MATLAB完成信号与系统综合设计实验,以提高学生的综合应用知识能力为目标,是“信号与系统”课程在实践教学环节上的必要补充。通过课设综合设计实验,激发学生理论课程学习兴趣,提高分析问题和解决问题的能力。

二、           课程设计时间

第十五、十六周。上机时间安排见附件一。第十六周周五提交课程设计报告并答辩。

三、           参考书目

1、  谷源涛、应启珩、郑君里著,信号与系统——MATLAB综合实验,北京:高等教育出版社,20##年1月。

2、  郑君里、应启珩 、杨为理,信号与系统引论,北京:高等教育出版社,20##年3月。

3、  梁虹等,信号与系统分析及Matlab实现,北京:电子工业出版社,20##年2月。

四、           注意事项

1、  基本部分,共三道题,每人都需要全部完成,要求十五周周五做完。

2、  提高部分,共八道题,每人按照学号分配(见附件二)只做其中的一题。

3、  第十六周周五所提交的课程设计报告如有雷同,一律退回重写。

一、基础部分

(一)傅里叶变换分析

1、周期信号的谱分析,要求任意给定单频周期信号,能够准确计算出其幅度谱和相位谱,并画出图形,要求正确显示频率。

%周期信号频谱分析

t=0:0.2:8;

x=cos(t);   %产生单频周期信号

subplot(311);

plot(x);

xlabel('t');

ylabel('cos(t)');

title('波形');

X=fft(x);   %计算DFS系数

a=abs(X); 

b=angle(X);  

subplot(312);

stem(a);   %画出幅度频谱

title('幅度谱');

xlabel('w');

ylabel('a');

subplot(313);

stem(b);   %画出相位频谱

title('相位谱');

xlabel('w');

ylabel('b');

图1

图1中是cos函数在一个周期内的波形、幅度谱和相位谱,由图可知余弦函数傅氏变换的幅度谱是两个冲击,相位谱为一条直线。

2、  非周期信号的频谱分析,要求分析语音信号的幅度谱和相位谱,并画出图形。

%非周期信号频谱分析

y=wavread('u');%读取音乐文件

Fn=fft(y);%作傅里叶变换

f=44000;

Fnf=abs(Fn); %幅度

Fnx=angle(Fn);%相位

N=length(y);

M=0:N-1;

figure;

subplot(3,1,1);

plot(M/7005000,y);%语音信号波形

title('语音信号的波形');

xlabel('t');

ylabel('y');

subplot(3,1,2);

stem(M/f,Fnf);%幅度谱

axis([0 0.0005 0 1500]);

title('幅度谱');

xlabel('Hz');

ylabel('Fnf');

subplot(3,1,3);

stem(M/f,Fnx);%相位谱

axis([0 0.0005 0 10]);

title('相位谱');

xlabel('Hz');

ylabel('Fnx');

图2

由图2可以看出,语音信号的幅度谱变化不大,相位谱是断续的。

3、对于方波,设计程序计算其傅里叶级数系数,仿真吉伯斯现象。

%仿真吉伯斯现象

t=0:0.01:20*pi;%定义时间长度

y=0;

num=input('叠加的正弦波个数=')

for k=1:num       %用for循环实现波形的叠加

    y=y+(4/pi)*(1/((k*2)-1))*sin(((k*2)-1)*t);

    r(k,:)=y;

end

figure;

plot(t,r);

title('吉伯斯现象');

xlabel('t');

ylabel('f(t)');

grid on;

图3

由图3可以发现,N个正弦波的叠加后的波形近似于方波。

(二)、连续时间系统分析:

1、自行设计一个有初始条件的微分方程,至少二阶。

2、解出其零输入解,并画出图形,与手工计算相比较。

3、解出其单位冲激响应,并画出图形,与手工计算相比较。

4、设定某一激励信号,用卷积方法解出其零状态响应,并画出图形,与手工计算相比较。

5、计算系统的幅频响应和相频响应,并画出图形。

a=[1,3,2];        %微分方程式左边的系数

b=[1,3];          %微分方程式右边系数

sys=tf(b,a);       %系统的传递函数

rsys=ss(sys);     %讲传递函数转换为状态空间

t=0:0.01:50;      %定义时间常数

x=0*t;   

e=[1,2];

rzi=lsim(rsys,x,t,e);   %零输入解

subplot(211);

plot(t,rzi);

xlabel('t');

ylabel('rzi(t)');

title('零输入解');

rzi1=4*exp(-t)-3*exp(-2*t);    %零输入解的手工计算

subplot(212);

plot(t,rzi1);

xlabel('t');

ylabel('rzi1(t)');

title('零输入解的手工计算');

 %单位冲激响应

rzs=impulse(sys,t);       %求冲激响应

figure;

subplot(211);

plot(rzs,'k:');

xlabel('t');

ylabel('rzs(t)');

title('单位冲激响应');

rzs0=2*exp(-t)-exp(-2*t);  %冲激响应的手工计算

subplot(212);

plot(rzs0,'k:');

xlabel('t');

ylabel('rzs1(t)');

title('单位冲激响应的手工计算');

x=exp(t);              %卷积求零状态响应 

r1=conv(x,rzs);

u=r1(1:5001);

figure;

subplot(211);

plot(r1);

xlabel('t');

ylabel('r1');

title('e^t的零状态响应');

r2=-exp(-t)+1/3*exp(-2*t)+2/3*exp(t); %零状态响应的手工计算

r3=u'-r2;

subplot(212);

plot(r3);

xlabel('t');

ylabel('r2');

title('e^t的零状态响应的手工计算');

F=fft(rzs);         %求系统函数

Ff=abs(F);          %系统函数的幅频响应

Fx=angle(F);        %系统函数的相频响应

figure;

subplot(211);

plot(Ff,'r-');

xlabel('w');

ylabel('Ff');

title('幅频响应');

subplot(212);

plot(Fx,'g-');

xlabel('w');

ylabel('Fx');

title('相频响应');

图4

图4是MATLAB计算的零输入解与手工计算的零输入解,比较可知,两者基本吻合。

图5

由图5可以看出微分方程的冲激响应为一条下降的曲线,即2*exp(-t)-exp(-2*t)。

图6

由图6,我们可以发现输入为exp(t)时的零状态响应由一段递增的曲线和一段递减的曲线构成,即-exp(-t)+1/3*exp(-2*t)+2/3*exp(t)。

图7

图7是系统函数的幅频响应和相频响应。

(三)、离散时间系统分析:

1、自行设计某离散时间系统函数,至少是二阶的系统,画出零极点图,判断系统的稳定性。

2、求出单位样值响应,并画出图形。

3、求出系统的幅频响应和相频响应,并画出图形。

b=[1,1];   %系统函数的分子

a=[1,0.2,-0.24];   %系统函数分母

[z,p,k]=tf2zp(b,a);

zplane(b,a);  %画零极点图

title('零极点图(稳定系统)');

xlabel('Rez');

ylabel('jImz');

figure;

h=impz(a,b,0:10);   %求单位样值响应

stem(h);         %画出单位样值响应

title('单位样值响应');

xlabel('n');

ylabel('h(n)');

figure;

y=freqz(a,b);    %求频谱

hf=abs(y);      %幅度谱

hx=angle(y);        %相位谱

subplot(211);

plot(hf,'k-');    %输出幅度谱

title('幅频响应');

xlabel('n');

ylabel('hf(n)');

subplot(212);

plot(hx,'g:');  %输出相位谱

title('相频响应');

xlabel('n');

ylabel('hx(n)');

图8

图8所示为零极点图,由图可知,系统函数的极点为z=0.4和z=-0.6,零点为z=-1 z=0。

图9

图9为系统的单位样值响应

图10

图10为系统函数的幅频响应和相频响应。

二、提高部分(频分复用)

1、自行给出二路语音信号,分别显示其频谱,并播放语音。

2、对二路语音信号进行频分复用,显示复用后的频谱,播放语音。

3、设计程序对频分复用的信号进行解调,显示解调结果,并回放语音。

N=10000;

n=[0:N-1];

bit=10000;

[e1,fs1,bits]=wavread('li.wav');

y1=e1(1:N);

[e2,fs2,bits]=wavread('xc.wav');%读取两路语音信号

y2=e2(1:N);

figure;

subplot(2,1,1);

plot(y1);   %输出a的时域波形

xlabel('t');

ylabel('y1');

title('a的波形');

sp1=max(abs(e1));

sound(e1,fs1,bits);

Fy1=fft(y1);

f=n/N*fs1;

subplot(2,1,2);

plot(f,abs(Fy1));%a的幅度谱

xlabel('t');

ylabel('Fy1');

title('a的幅度谱');    

bw1=fs1/2;

pause(10)

figure;

subplot(2,1,1);

plot(y2); %b的时域波形

xlabel('t');

ylabel('y2');

title('b的波形');

sp2=max(abs(e2));

sound(e2,fs2,bits);pause(2)

Fy2=fft(y2);

subplot(2,1,2);

plot(f,abs(Fy2));  %b的幅度谱

xlabel('f');

ylabel('Fy2');

title('b的幅度谱');

bw2=fs2/2;

%调制

fca=12000;

fcb=45000;

fs=120000;

Ts=1/fs;

fn=n/N*fs;

y1cos=cos(2*pi*fca.*n*Ts);%第一个载波信号

y2cos=cos(2*pi*fcb.*n*Ts);%第二个载波信号

y=y1'.*y1cos+y2'.*y2cos;%调制相加得到复合信号

F=fft(y);

figure;

subplot(211);

plot(y);

xlabel('t');

ylabel('y');

title('复合信号的波形');

subplot(212);

plot(fn,abs(F));

xlabel('fn');

ylabel('|F|');

title('复合信号的幅度谱');xlabel('HZ');

%设计滤波器

dat=zeros(1,N);

dat(round((fca-bw1)/fs*N:(fca+bw1)/fs*N))=1;%

dat(round((fs-fca-bw1)/fs*N:(fs-(fca-bw1))/fs*N))=1;

fi1=dat;     %a滤波器

dat=zeros(1,N);

dat(round((fcb-bw2)/fs*N:(fcb+bw2)/fs*N))=1;

dat(round((fs-(fcb-bw2)-2*bw2)/fs*N:(fs-(fcb-bw2))/fs*N))=1;

fi2=dat;    %b滤波器

figure;

subplot(211);

plot(fn,fi1);

axis([0 120000 0 1.5]);

title('滤波器fi1');

xlabel('HZ');

ylabel('fi1');

subplot(212);

plot(fn,fi2);

axis([0 120000 0 1.5]);

xlabel('HZ');

ylabel('fi2');

title('滤波器fi2');

xlabel('Hz');

fily1=F.*fi1; %滤波

fily2=F.*fi2;

%混频

hy1=ifft(fily1).*y1cos;

hy2=ifft(fily2).*y2cos;

figure;

subplot(211);

plot(abs(fft(hy1)));

subplot(212);

plot(abs(fft(hy2)));

%低通滤波器

filter=zeros(1,N);

filter(1:round(bw1/fs*N))=1;

filter(round((fs-bw1)/fs*N):N)=1;

filter1=filter;

filter(1:round(bw2/fs*N))=1;

filter(round((fs-bw2)/fs*N):N)=1;

filter2=filter;

%解调

Fya=fft(hy1).*filter1;

ya=ifft(Fya);

figure;

subplot(211);

plot(n,ya);

xlabel('t');

ylabel('ya');

title('a的解调');

sp3=max(abs(ya));

sound(ya/sp3,fs1,bits)

Fyb=fft(hy2).*filter2;

yb=ifft(Fyb);

subplot(212);

plot(n,yb);

title('b的解调');

xlabel('t');

ylabel('yb');

sp4=max(abs(yb));

sound(yb/sp4,fs1,bits)

图11

图11为语音信号a的波形和幅度谱,可知a的带宽为20K左右。

图12

图12为语音信号b的波形和幅度谱,可知其带宽跟a相差不大。但是幅度比a小。

图13

图示为a和b调制并复合后的波形和幅度谱,此时两路信号已经被调制到各自的载波频率左右。其中两边是a的幅度谱,中间为b的幅度谱。

图14

图14为两个带通滤波器,fi1用来滤出a信号,fi2用来滤出b信号。

图15

图15为解调后的混频信号,混频信号a是拿复合信号乘a的载波信号得到的频谱,混频信号b是拿复合信号b乘b的载波信号得到的频谱。

图16

图16为还原的a和b语音信号,是用低通滤波器对混频信号滤波后再进行傅里叶逆变换还原到时域,与图11和图12比较可知,还原后的信号跟原信号基本一致。

五、实验问题及体会:

   这次课程设计,尝到了各种滋味,有在困惑中的苦恼,在迷茫中的挣扎,也有在学习中的快乐,在成功中的兴奋,这是一个独立思考和挑战自己恒心的过程。实验中学到的不仅仅是MATLAB的应用和一些课题的解决方法,更重要的是锻炼了自己的意志,在做基础部分的时候,我在对MATLAB一无所知中苦苦摸索,一次一次地编写代码,试验函数的用法,慢慢地学会了怎么写一些简单的程序,实验过程中出现最多的问题是这个:

??? Error using ==> times

Matrix dimensions must agree.

这个问题让我特别困惑,后来发现时矩阵维度不一致,通过上网查找资料,才把问题解决。我发现课本知识在实践面前很脆弱,不是说课本知识不重要,我们在学好课本知识的同时更要注重联系实际,要能解决实际问题,把课本上学到的东西应用到课程设计里面来,比如说频分复用,频分复用就是课本上讲过的一个应用,但是具体到自己设计,就要考虑各种问题,比如说载波的选择、滤波器的设计,这些课本上只是提到但是怎么解决得靠自己想办法。这次课程设计对我的启发很大,我懂得了遇到困难首先要思考,查找解决办法,耐心分析错误原因,做事要有耐心,我会在以后的学习中注重实践。

更多相关推荐:
南邮信号与系统课程实验报告

课程实验报告20xx20xx学年第一学期实验名称用Matlab进行信号与系统的时频域分析专业学生姓名班级学号指导教师指导单位日期用Matlab进行信号与系统的时频域分析一实验目的1学会matlab的简单使用2学...

信号与系统课程设计报告

信号与系统课程设计报告基于IIR的有噪声语音信号处理班姓名成绩指导教师日期目录1摘要及关键字22实验目的与具体任务33MATLAB设计与运行结果及分析431基于IIR滤波器的语音信号的处理4311语音信号的采集...

信号与系统课程设计报告

沈阳理工大学课程设计专用纸成绩评定表沈阳理工大学沈阳理工大学课程设计专用纸课程设计任务书2沈阳理工大学沈阳理工大学课程设计专用纸摘要本文研究的是傅里叶变换的对称性和时移特性傅里叶变换的性质有对称性线性叠加性奇偶...

信号与系统课程设计报告

评分信号与系统课程设计学院电信学院班级测控102班姓名苏慧敏学号10034010206指导教师贺婷设计日期20xx61820xx622利用matlab合成音乐一实验目的1熟悉MATLAB的软件和语言指令的使用2...

信号与线性系统课程设计报告

信号与线性系统课程设计报告课题五基于FIR滤波的语音信号处理系统设计班级姓名学号组号及同组人成绩1指导教师日期课题五基于FIR滤波的语音信号处理系统设计摘要MATLAB是由美国mathworks公司发布的主要面...

信号与系统课设报告模版

课程设计报告课程名称信号与系统课程设计指导教师罗倩设计起止日期20xx623至20xx73学院信息与通信工程专业电子信息工程学生姓名班级学号成绩指导老师签字1目录1课程设计目的32课程设计原理33课程设计所用设...

信号与系统课程设计报告--循环卷积和离散卷积的计算机计算

信号与系统课程设计报告学院电气与电子工程学院班级电气1010学号U20xx120xx姓名周超尘1目录一设计概述1设计题目32设计目的33具体步骤34实现方法4二设计目标4三设计内容1原理学习411循环卷积512...

通信原理课程设计PCM系统设计与仿真报告

引言数字通信系统己成为当今通信的发展方向然而自然界的许多信息通过传感器转换后绝大部分是模拟量脉冲编码调制PCM是把模拟信号变换为数字信号的一种调制方式主要用于语音传输在光纤通信数字微波通信卫星通信中得到广泛的应...

沈阳理工大学信号与系统课程设计 傅里叶变换的对称性和时移特性

沈阳理工大学课程设计成绩评定表1沈阳理工大学沈阳理工大学课程设计课程设计任务书2沈阳理工大学沈阳理工大学课程设计摘要本文研究的是傅里叶变换的对称性和时移特性傅里叶变换的性质有对称性线性叠加性奇偶虚实性尺度变换特...

课题三基于LABVIEW的心电信号分析系统设计与仿真报告

信号与系统课程设计课题一心电信号分析系统的设计一本课题的目的本设计课题主要研究数字心电信号的初步分析方法及滤波器的应用通过完成本课题的设计拟主要达到以下几个目的1了解基于LabVIEW的虚拟仪器的特点和使用方法...

信号与线性系统课程设计报告

信号与线性系统课程设计报告课题名称数字语音信号分析系统设计班级姓名学号成绩指导教师王霞日期20xx1227摘要数字信号处理在实际生活生产中具有广泛应用优点包括灵活性高稳定性可靠性集成度高等同时该方法在各学科领域...

信号与系统-课程设计报告(华科电气95分报告)

信号与系统课程设计报告学院电气与电子工程学院班级学号姓名1目录一设计概述1设计题目32设计目的33具体步骤34实现方法4二设计目标4三设计内容1原理学习411循环卷积512离散卷积52程序流程图63c语言编程与...

信号与系统课程设计报告(24篇)