信号与系统课程设计报告文档格式.docx
《信号与系统课程设计报告文档格式.docx》由会员分享,可在线阅读,更多相关《信号与系统课程设计报告文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
(4)调试程序,分析相关理论;
(5)编写设计报告。
4、课程设计内容
(一)基本部分
(1)信号的时频分析
任意给定单频周期信号的振幅、频率和初相,要求准确计算出其幅度谱,并准确画出时域和频域波形,正确显示时间和频率。
设计思路:
首先给出横坐标,即时间,根据设定的信号的振幅、频率和初相,写出时域波形的表达式;
然后对时域波形信号进行傅里叶变化,得到频域波形;
最后使用plot函数绘制各个响应图。
源程序:
clc;
clear;
closeall;
Fs=128;
%采样频率
T=1/Fs;
%采样周期
N=600;
%采样点数
t=(0:
N-1)*T;
%时间,单位:
S
x=2*cos(5*2*pi*t);
n=0:
N-1;
figure;
subplot(3,1,1)
plot(t,x);
xlabel('
时间/S'
);
ylabel('
振幅'
title('
时域波形'
gridon;
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频率之前随频率变化的振幅
频率/Hz'
幅度'
幅值谱'
subplot(3,1,3)
plot(f,angle(y1));
%绘出Nyquist频率之前随频率变化的相位
相位'
相位谱'
结果图:
结果分析:
cos函数波形为周期信号,其频域响应为两个冲击函数,并且符合对偶性。
(2)傅里叶级数分析
分析周期三角波的傅里叶级数系数,用正弦信号的线性组合构成三角波,要求谐波次数可以任意输入,分析不同谐波次数所构成的三角波,解释是否存在吉伯斯现象。
根据原理——任意周期信号都可以表达成傅里叶级数的形式,对周期三角波进行傅里叶级数分解,利用for循环完成级数求和运算。
当N值较小时,傅里叶级数的逼近效果不是很理想,随着N值变大,傅里叶级数越来越接近理想值。
t=-6:
6/1000:
6;
N=input('
pleaseinputthenunber:
'
w0=pi;
XN=zeros(1,length(t));
tao=0;
%0.0000001;
forn=1:
N;
fn=-4*(sin(n*pi/2))^2/((n+tao)^2*pi^2);
XN=XN+fn*cos(n*w0*t);
end
XN=XN+0.5;
plot(t,XN);
title(['
Gibbs,N='
num2str(N)]);
Time(sec)'
ylabel(['
X'
num2str(N),('
t'
)]);
结果图;
随着N值的增大,傅里叶级数与理想的周期三角波越来越接近,符合预期效果。
(3)系统分析
任意给定微分方程或差分方程描述的系统,画出系统的幅频响应和相频响应。
根据微分方程、差分方程与系统函数的对应关系,结合matlab自带的freqs和freqz两个函数,分析系统的幅频特性和相频特性。
%---微分方程
b=[10];
%y的系数
a=[132];
%x的系数
freqs(b,a);
%---差分方程
b=[01];
a=[1-22];
freqz(b,a);
微分方程所代表的系统具有高通特性,差分方程所代表的系统具有低通特性。
(4)音乐合成程序设计
对于任意一小段音乐,利用“十二平均律”计算该音乐中各个乐音的频率,产生并播放这些乐音。
分析音乐的频谱,从中识别出不同的乐音。
根据时间长短来区别各个音符拍长短,根据频率高低来区别各个音符的音调,具体细节参考“十二平均律”,将每段乐音连接起来,使用sound函数播放乐音。
对每段乐音进行傅里叶变换,分析其频谱。
f=8000;
%音乐采样频率,可改为4000或者16000
t2=0:
1/f:
1;
%2拍,时间长短不同
t4=0:
0.5;
%1拍
t8=0:
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=[m1m2m3m4m5m6m7m8];
%save('
DongFangHong'
'
m'
sound(m);
N=1024;
%傅里叶变换点数
flabel=0:
f/N:
f/2-f/N;
holdon;
H_m=fft(m1,N);
plot(flabel,10*log10(abs(H_m(1:
N/2))));
H_m=fft(m2,N);
H_m=fft(m3,N);
H_m=fft(m4,N);
H_m=fft(m5,N);
H_m=fft(m6,N);
H_m=fft(m7,N);
H_m=fft(m8,N);
holdoff;
频率'
幅度响应'
axis([01000-1530]);
根据乐谱编写程序,能够听到预期的歌曲;
分析其频谱,包含几个不同频率的脉冲,同样符合预期。
(5)调制
分析单位冲激响应为的系统的滤波特性,画出其幅频响应曲线。
根据傅里叶变换特性,时域相乘对应频域卷积,将题目中的时域波形进行分解,并将两个函数分别对应的傅里叶变换进行卷积。
参考常用的傅里叶变换对,所求的频域特性为方波和冲击函数的卷积。
f=800;
t=-0.2:
0.2;
%时域长度
x_t=zeros(1,length(t));
fork=1:
length(t)
ift(k)==0
x_t(k)=0;
else
x_t(k)=sin(50*pi*t(k))*sin(100*pi*t(k))/(pi*t(k));
end
subplot(2,1,1);
plot(t,x_t);
%时域波形
时间'
H_x=fft(x_t,N);
subplot(2,1,2);
plot(flabel,10*log10(abs(H_x(1:
频率响应'
中心在0频的方波搬移到了50Hz,符合预期。
(二)提高部分
(7)频分复用
a、自行给出二路语音信号,分别显示其频谱,并播放语音。
b、对二路语音信号进行频分复用,显示复用后的频谱,播放语音。
c、设计程序对频分复用的信号进行解调,显示解调结果,并回放语音。
对信号的处理主要包括以下几个部分:
a、根据语音信号文件,使用matlab的函数wavread进行读取,并结合fft观察信号的时域波形和频域波形;
b、两路信号分别于不同频率的载波相乘,再相加,得到复用之后的信号;
c、根据所发送信号的特性和其对应的载波,设计带通滤波器,从复用信号中分别滤出两路信号;
d、对高频的调制信号进行解调至0频;
e、设计低通滤波器,并将解调后的信号通过该滤波器,得到预期的发送信号,播放该信号,观察其与发送信号的异同。
N=14000;
[e1,fs1]=wavread('
msg.wav'
%信号a
y1=e1(1:
N);
[e2,fs2]=wavread('
sys.wav'
%信号b
y2=e2(1:
plot(y1);
%输出a的时域波形
y1'
a的波形'
sound(y1,fs1);
Fy1=fft(y1,N);
f=n/N*fs1;