北京交通大学《信号与系统》专题研究性学习实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《信号与系统》课程研究性学习手册
专题一信号时域分析
1. 基本信号的产生,语音的读取与播放
【研讨内容】
1) 生成一个正弦信号,改变正弦信号的角频率和初始相位,观察波形变化;
2) 生成一个幅度为1、基频为2Hz 、占空比为50%的周期方波,
3) 观察一定时期内的股票上证指数变化,生成模拟其变化的指数信号,
4) 录制一段音频信号,进行音频信号的读取与播放
【题目分析】
⑴正弦信号的形式为Acosg o t+书)或Asin (3 o t+,分别用MATLAB 的内部函数cos 和sin 表示,其调用形式为y A* cos(w0* t phi)、y A*sin(wo*t phi)。生成正弦信号为y=5sin(t), 再依次改变其角频率和初相,用matlab 进行仿真。
⑵幅度为1 ,则方波振幅为0.5 ,基频wO=2Hz ,则周期T=pi ,占空比为50% , 因此正负脉冲宽度比为 1 。
(3) 将波形相似的某一段构造成一个指数函数, 在一连续时间内构造不同的2~3 个不同指数函数即可大致模拟出其变化。
(4) 录制后将文件格式转化为wav ,再用wavread 函数读取并播放,用plot 函数绘制其时域波形。
【仿真】
( 1 ) 正弦信号
正弦信号 1 :
A=1;w0=1/4*pi;phi=pi/16;
t=-8:0.001:8;
xt 仁A*si n(w0*t+phi);
plot(t,xt1)
title('xt 仁si n( 0.25*pi*t+pi/16)')
正弦信号2 (改变1中频率)
A=1;w1=1/4*pi;w2=1*pi;phi=pi/16; t=-8:0.001:8; xt 1= A*si n(w1*t+phi);
xt2=A*si n(w2*t+phi);
plot(t,xt1,t,xt2)
正弦信号3 (改变1中相位)
A=1;w=1/4*pi;phi仁pi/16;phi2=pi/4; t=-8:0.001:8; xt 1=A*si n(w*t+phi1);
xt3=A*si n(w*t+phi2) plot(t,xt1,t,xt3)
0.4 -
0.2 -
0 -
-0.2 -
-0.4 -
-0.6 -
-0.8 〜
(2) 方波信号
t=-100:0.01:100;
T=0.5;
f=1/T;
y=square(2*pi*f*t,50);
Plot(t,y);
axis([-2 2 -3 3]);
-3 1—--------- [ ------------ ■ ----------- 1- ---------- 1 ----------- 1 ----------- 1 ----------- 1 -------------------------t
-2 -1.5 -1 -0.5 0 0.5 1 1.5
2
0.8
0.6
-1 ------------- [ ---------- L
-8 -6 -4
(3) 模拟股票上证指数变化的指数信号x1=0:0.001:5;
y1=2500+1.8*exp(x1);
x2=5:0.001:10;
y2=2847-1.5*exp(0.8*x2);
x3=10:0.001:15;
y3=2734+150*exp(-0.08*x3);
x4=15:0.001:20;
y4=2560-156*exp(-0.08*x4);
x=[x1,x2,x3,x4];
y=[y1,y2,y3,y4];
plot(x,y);
3000
2500
2000
1500
1000
500
-500
-1000
-1500
(4) 音频信号的读取与
播放 [x,Fs,Bits]=wavread( sou nd(x,Fs,Bits) plot(x)
-2000 ---------- [
-------- [
---------- L
0 2 4 6 8 10 12
14 16 18 20 'C:\Users\Ghb\Desktop\na nshe
ng.wav'
C\Users\Ghb\Desktop\nvshe ng.wav' [x,Fs,Bits]=wavread(
sou nd(x,Fs,Bits)
plot(x)
2. 信号的基本运算(语音信号的翻转、展缩)
【研讨内容】
1)将原始音频信号在时域上进行延展、压缩,
2)将原始音频信号在频域上进行幅度放大与缩小,
3)将原始音频信号在时域上进行翻转,
【题目分析】
用matlab 的wavread 函数读取录制的音频,用length 函数计算出音频文件的长度,最后计算出时间t ,然后用plot 函数输出录制的音频信号
(1)延展与压缩分析
把时间t 变为原来的一半,信号就被延展为原来的 2 倍,把时间他变为原来的 2 倍,信号就被压缩为原来的一半。
(2)幅度放大与缩小
把信号的幅度值变为原来的 2 倍,信号的幅度就被放大了 2 倍,把信号的幅度变为原来的一半,信号就被缩小为原来的一半。
(3)信号的翻转
把信号的t 变为变为原来的相反数,就可以实现信号的翻转。
【仿真】
(1)读取原始信号
fs=44100;bits=32;
[x,fs,nbits]=wavread('C:\Users\Ghb\Desktop\nansheng.wav');
plot(x);title(' 原始信号') wavplay(x,fs);