课程设计报告课程名称信号与系统课程设计指导教师设计起止日期学院信息与通信工程专业电子信息工程学生班级/学号成绩指导老师签字目录1、课程设计目的 (1)2、课程设计要求 (1)3、课程设计任务 (1)4、课程设计容 (1)5、总结 (11)参考文献 (12)附录 (12)1、课程设计目的“信号与系统”是一门重要的专业基础课,MATLAB作为信号处理强有力的计算和分析工具是电子信息工程技术人员常用的重要工具之一。
本课程设计基于MATLAB完成信号与系统综合设计实验,以提高学生的综合应用知识能力为目标,是“信号与系统”课程在实践教学环节上的必要补充。
通过课设综合设计实验,激发学生理论课程学习兴趣,提高分析问题和解决问题的能力。
2、课程设计要求(1)运用MATLAB编程得到简单信号、简单信号运算、复杂信号的频域响应图;(2)通过对线性时不变系统的输入、输出信号的时域和频域的分析,了解线性时不变系统的特性,同时加深对信号频谱的理解。
3、课程设计任务(1)根据设计题目的要求,熟悉相关容的理论基础,理清程序设计的措施和步骤;(2)根据设计题目的要求,提出各目标的实施思路、方法和步骤;(3)根据相关步骤完成MATLAB程序设计,所编程序应能完整实现设计题目的要求;(4)调试程序,分析相关理论;(5)编写设计报告。
4、课程设计容(一)基本部分(1)信号的时频分析任意给定单频周期信号的振幅、频率和初相,要求准确计算出其幅度谱,并准确画出时域和频域波形,正确显示时间和频率。
设计思路:首先给出横坐标,即时间,根据设定的信号的振幅、频率和初相,写出时域波形的表达式;然后对时域波形信号进行傅里叶变化,得到频域波形;最后使用plot函数绘制各个响应图。
源程序:clc; clear;close all;Fs =128; % 采样频率T = 1/Fs; % 采样周期N = 600; % 采样点数t = (0:N-1)*T; % 时间,单位:Sx=2*cos(5*2*pi*t);n=0:N-1;figure; subplot(3,1,1)plot(t,x);xlabel('时间/S');ylabel('振幅');title('时域波形');grid on;y=fft(x,N);y1=fftshift(y);n1=-(N-1)/2:(N-1)/2;f=n1*Fs/N;subplot(3,1,2)plot(f,10*log10(abs(y1))); % 绘出Nyquist频率之前随频率变化的振幅xlabel('频率/Hz');ylabel('幅度');title('幅值谱');grid on;subplot(3,1,3)plot(f,angle(y1)); % 绘出Nyquist频率之前随频率变化的相位xlabel('频率/Hz');ylabel('相位');title('相位谱');grid on;结果图:结果分析:cos函数波形为周期信号,其频域响应为两个冲击函数,并且符合对偶性。
(2)傅里叶级数分析分析周期三角波的傅里叶级数系数,用正弦信号的线性组合构成三角波,要求谐波次数可以任意输入,分析不同谐波次数所构成的三角波,解释是否存在吉伯斯现象。
设计思路:根据原理——任意周期信号都可以表达成傅里叶级数的形式,对周期三角波进行傅里叶级数分解,利用for循环完成级数求和运算。
当N值较小时,傅里叶级数的逼近效果不是很理想,随着N值变大,傅里叶级数越来越接近理想值。
源程序:clc; clear;close all;t=-6:6/1000:6;N = input('please input the nunber:');w0=pi;XN=zeros(1,length(t));tao=0; % 0.0000001;for n=1:N;fn=-4*(sin(n*pi/2))^2/((n+tao)^2*pi^2);XN=XN+fn*cos(n*w0*t);endXN=XN+0.5;figure; plot(t,XN);title(['Gibbs,N=',num2str(N)]);xlabel('Time(sec)');ylabel(['X',num2str(N),('t')]);结果图;结果分析:随着N值的增大,傅里叶级数与理想的周期三角波越来越接近,符合预期效果。
(3)系统分析任意给定微分方程或差分方程描述的系统,画出系统的幅频响应和相频响应。
设计思路:根据微分方程、差分方程与系统函数的对应关系,结合matlab自带的freqs和freqz 两个函数,分析系统的幅频特性和相频特性。
源程序:clc; clear;close all;% --- 微分方程b = [1 0]; % y的系数a = [1 3 2]; % x的系数figure; freqs(b,a);% --- 差分方程b = [0 1]; % y的系数a = [1 -2 2]; % x的系数figure; freqz(b,a);结果图;结果分析:微分方程所代表的系统具有高通特性,差分方程所代表的系统具有低通特性。
(4)音乐合成程序设计对于任意一小段音乐,利用“十二平均律”计算该音乐中各个乐音的频率,产生并播放这些乐音。
分析音乐的频谱,从中识别出不同的乐音。
设计思路:根据时间长短来区别各个音符拍长短,根据频率高低来区别各个音符的音调,具体细节参考“十二平均律”,将每段乐音连接起来,使用sound函数播放乐音。
对每段乐音进行傅里叶变换,分析其频谱。
源程序:clc; clear;close all;f =8000; % 音乐采样频率,可改为4000或者16000t2=0:1/f:1; % 2拍,时间长短不同t4=0:1/f:0.5; % 1拍t8=0:1/f:0.25; % 1/2拍misc_note5=523.25; % 不同音符频率misc_note6=587.33;misc_note2=392;misc_note1=349.23;misc_note6_down=293.66;m1=sin(2*pi*misc_note5*t4); % 波形m2=sin(2*pi*misc_note5*t8);m3=sin(2*pi*misc_note6*t8);m4=sin(2*pi*misc_note2*t2);m5=sin(2*pi*misc_note1*t4);m6=sin(2*pi*misc_note1*t8);m7=sin(2*pi*misc_note6_down*t8);m8=sin(2*pi*misc_note2*t2);m=[m1 m2 m3 m4 m5 m6 m7 m8];% save('DongFangHong','m');sound(m);N = 1024; % 傅里叶变换点数flabel = 0:f/N:f/2-f/N;figure; hold on;H_m = fft(m1,N); plot(flabel,10*log10(abs(H_m(1:N/2))));H_m = fft(m2,N); plot(flabel,10*log10(abs(H_m(1:N/2))));H_m = fft(m3,N); plot(flabel,10*log10(abs(H_m(1:N/2))));H_m = fft(m4,N); plot(flabel,10*log10(abs(H_m(1:N/2))));H_m = fft(m5,N); plot(flabel,10*log10(abs(H_m(1:N/2))));H_m = fft(m6,N); plot(flabel,10*log10(abs(H_m(1:N/2))));H_m = fft(m7,N); plot(flabel,10*log10(abs(H_m(1:N/2))));H_m = fft(m8,N); plot(flabel,10*log10(abs(H_m(1:N/2))));hold off;xlabel('频率');ylabel('幅度响应');grid on;axis([0 1000 -15 30]);结果图;结果分析:根据乐谱编写程序,能够听到预期的歌曲;分析其频谱,包含几个不同频率的脉冲,同样符合预期。
(5)调制分析单位冲激响应为πππ=sin(50)sin(100)h(t)t tt的系统的滤波特性,画出其幅频响应曲线。
设计思路:根据傅里叶变换特性,时域相乘对应频域卷积,将题目中的时域波形进行分解,并将两个函数分别对应的傅里叶变换进行卷积。
参考常用的傅里叶变换对,所求的频域特性为方波和冲击函数的卷积。
源程序:clc; clear;close all;f = 800; % 采样频率t = -0.2:1/f:0.2; % 时域长度x_t = zeros(1,length(t));for k=1:length(t)if t(k)==0x_t(k) = 0;elsex_t(k) = sin(50*pi*t(k))*sin(100*pi*t(k))/(pi*t(k));endendfigure; subplot(2,1,1);plot(t,x_t); % 时域波形xlabel('时间');ylabel('时域波形');grid on;N = 1024; % 傅里叶变换点数H_x = fft(x_t,N);flabel = 0:f/N:f/2-f/N;subplot(2,1,2);plot(flabel,10*log10(abs(H_x(1:N/2))));xlabel('频率');ylabel('频率响应');grid on;结果图;结果分析:中心在0频的方波搬移到了50Hz,符合预期。
(二)提高部分(7)频分复用a、自行给出二路语音信号,分别显示其频谱,并播放语音。
b、对二路语音信号进行频分复用,显示复用后的频谱,播放语音。
c、设计程序对频分复用的信号进行解调,显示解调结果,并回放语音。
设计思路:对信号的处理主要包括以下几个部分:a、根据语音信号文件,使用matlab的函数wavread进行读取,并结合fft观察信号的时域波形和频域波形;b、两路信号分别于不同频率的载波相乘,再相加,得到复用之后的信号;c、根据所发送信号的特性和其对应的载波,设计带通滤波器,从复用信号中分别滤出两路信号;d、对高频的调制信号进行解调至0频;e、设计低通滤波器,并将解调后的信号通过该滤波器,得到预期的发送信号,播放该信号,观察其与发送信号的异同。