信号实验报告Word格式.docx
《信号实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《信号实验报告Word格式.docx(49页珍藏版)》请在冰豆网上搜索。
12
13
14
15
16
17
18
总计
学分:
大连理工大学实验预习报告
电信专业:
通信工程班级:
姓名:
李睿学号:
201483091组:
5___
实验时间:
2016.5.6实验室:
创新园大厦c0221实验台:
5
指导教师签字:
成绩:
一、实验目的和要求
1.掌握周期信号的傅里叶级数展开
2.掌握周期信号的有限项傅里叶级数逼近
3.掌握周期信号的频谱分析
4.掌握连续非周期信号的傅立叶变换
5.掌握傅立叶变换的性质
二、实验用的matlab命令和例子
1.a:
b:
c:
产生一个从a到c,间隔为b的等间隔数列例:
5:
1:
11,产生一个从5到11,间隔为1的等间隔数列
2.quare(t,duty):
周期性矩形脉冲信号(duty表示占空比)调用形式:
y=square(t,duty)例:
产生一个周期为2π,幅值为±
1的周期性方波。
y=square(2*pi*30*t,75);
plot(t,y),gridonaxis([-0.1,0.1,-1.5,1.5])
3.plot():
matlab中二维线画图函数plot(x,y,’颜色和标识’):
若y和x为同维向量,则以x为横坐标,y为纵坐标绘制连线图。
若x是向量,y是行数或列数与x长度相等的矩阵,则绘制多条不同色彩的连线图,x被作为这些曲线的共同横坐标。
若x和y为同型矩阵,则以x,y对应元素分别绘制曲线,曲线条数等于矩阵列数。
例:
在0≤x≤2π区间内,绘制曲线y=2e-0.5xcos(4πx)。
x=0:
2*pi;
y=2*exp(-0.5*x).*cos(4*pi*x);
plot(x,y)
‘’:
y黄m紫c青r红g绿b蓝w白k黑-实线.点<
小于号:
点线o圆s正方形-.点划线x叉号d菱形--虚线+加号h六角星*星号p五角星v向下三角形^向上三角形>
大于号
4.gridon:
有网格gridoff:
关掉格网下面是加上命令gridon后画的图,有网格。
5.axis([abcd]):
表明图线的x轴范围为a~by轴范围为c~d例:
plot(x,y)axis([0123])gridon
6.length(a):
表示矩阵a的最大的长度比如length([123;
456])等于3,因为2行和3列中最大是3。
当a是向量时,即表示向量的元素个数,因为向量总是1×
n或n×
1的,而n一定大于或等于1.所以得到的结果一定是n。
7.1./tan(pi.*x):
表示点乘。
点乘是值对值的运算上面的式子中X可能是一个向量或矩阵,PI后面的点是一个PI和一个向量相乘,得到的也是一个向量;
1后面乘的自然也是个向量所以要加点,也就是对应不同的X,有不同的Y值。
8.figure是建立图形的意思。
系统自动从1,2,3,4...来建立图形,数字代表第几幅图形,figure
(1),figure
(2)就是第一第二副图的意思,在建立图形的时候,注意一下它的标题,对应到程序中就是您的例子语句。
一般建立新图只需要一个figure就行,系统自动建立新图。
9.holdon:
在当前图的轴(坐标系)中画了一幅图,再画另一幅图时,原来的图还在,与新图共存,都看得到holdoff:
在当前图的轴(坐标系)中画了一幅图,此时,状态是holdoff,则再画另一幅图时,原来的图就看不到了,在轴上绘制的是新图,原图被替换了。
10.title单引号表示原样输出如:
'
s'
输出就为s单引号和中括号一块使用表示组合如a=['
2'
'
3'
]输出就为a=23
11.subplot():
是将多个图画到一个平面上的工具。
其中,m表示是图排成m行,n表示图成n列,也就是整个figure中有n个图是排成一行的,一共m行,如果m=2就是表示2行图。
p表示图所在的位置,p=1表示从左到右从上到下的第一个位置。
调用方法:
subplot(m,n,p)或者subplot(mnp)。
例:
把绘图窗口分成两行两列四块区域,然后在每个区域分别作图,subplot(2,2,1);
%2、2、1之间没有空格也可以,在第一块绘图subplot(2,2,[1,2]);
%在1、2块绘制一个图
大连理工大学实验报告
二、实验题目、程序和结果
1.已知周期三角信号如图所示,试求出该信号的傅里叶级数,利用MATLAB编程实现其各次谐波的叠加,并验证其收敛性。
clc
Clear
t=-3:
0.001:
3;
omega=pi;
y=(sawtooth(pi*(t+1),0.5)+1)/2;
plot(t,y);
gridon
xlabel('
t'
),ylabel('
y'
);
title('
周期三角波'
axis([-3302])
n_Max=[1351147];
N=length(n_Max);
fork=1:
N
n=1:
2:
n_Max(k);
M=4./(pi*pi.*n.*n);
N=cos(omega*n'
*t);
x=1/2+M*N;
figure;
plot(t,y,'
b'
holdon
plot(t,x,'
r'
holdoff;
xlabel('
部分谐波和'
axis([-3302])
title(['
最大次谐波为:
num2str(n_Max(k))])
end
2.试用MATLAB数值计算方法求门信号的傅里叶变换,并画出其频谱图。
门信号即:
clear
dt=0.001;
dt:
gt=heaviside(t+0.5)-heaviside(t-0.5);
subplot(211)
plot(t,gt);
axis([-2202])
门函数'
)
N=2000;
k=-N:
N;
w=2*pi*k/((2*N+1)*dt);
Gw=dt*gt*exp(-j*t'
*w);
subplot(212);
plot(w,Gw),gridon
axis([-3030-22]);
w'
),ylabel('
Gw'
对应频谱图'
三、实验分析和总结
1:
从实验结果可以看出,任意信号都可以分解成正弦级数和的形式,且级数中所
含高次谐波越多,分解后的信号越接近于原始信号。
验证了在课堂上所学的门函数的傅里叶变换的抽样函数。
第一次上机实验时对MATLAB不太熟悉,所以花了较多时间了解和熟悉MATLAB
的运用。
实验中也遇到过问题,在做第一题的时候,我的程序始终出不来将信号
分解为级数和形式的图像,后来检查发现,在做数字与向量的乘法时,我忘记了
加“.”。
这个问题我在做预习报告的时候查过,但是没有记住。
下一次一定要在
正式做试验之前重新看一遍预习报告,把实验需要用到的函数等的用法再熟悉一
遍,避免因为不应该的失误、马虎浪费时间,导致实验无法按时完成。
语音信号的调制解调
一、实验目的和要求
1.了解语音信号处理在通信中的应用
2.理解幅度调制和解调的原理及方法
3.观察语音信号、载波信号、调制后信号和解调后信号的频谱
二、实验用的matlab命令和例子
1.buttord:
用于计算巴特沃斯数字滤波器的阶数N和3dB截止频率wc。
调用形式:
[N,wc]=buttord(wp,ws,αp,αs)调用参数wp,ws分别为数字滤波器的通带、阻带截止频率的归一化值,要求:
0≤wp≤1,0≤ws≤1。
1表示数字频率pi。
αp,αs分别为通带最大衰减和组带最小衰减(dB)。
当ws≤wp时,为高通滤波器;
当wp和ws为二元矢量时,为带通或带阻滤波器,这时wc也是二元向量。
N,wc作为butter函数的调用参数。
butter:
计算N阶巴特沃斯数字滤波器系统函数分子、分母多项式的系数向量b、a。
[b,a]=butter(N,wc,‘ftype’)调用参数N和wc分别为巴特沃斯数字滤波器的阶数和3dB截止频率的归一化值(关于pi归一化),一般是调用buttord
(1)格式计算N和wc。
系数b、a是按照z-1的升幂排列。
wp=2*pi*5000;
ws=2*pi*12000;
Rp=2;
As=30;
[N,wc]=buttord(wp,ws,Rp,As,'
[B,A]=butter(N,wc,'
2.filtfilt:
零相位数字滤波器。
Y=filtfil(B,A,X)通过向量A,B᧿述的旅欧不起对数据向量X滤波得到滤波后的数据Y。
滤波器可以通过差分方程᧿述如下:
y(n)=b
(1)*x(n)+b
(2)*x(n-1)+...+b(nb+1)*x(n-nb)-a
(2)*y(n-1)-...-a(na+1)*y(n-na)通过前向滤波之后,滤波序列被反折并且再次通过滤波器,Y是第二次滤波器输出的时间反折序列。
其结果是相位特性精确的为零,没有变形并且幅频特性被滤波器幅频特性的平方所改变。
初值和终值都被选择的很小的跳变来匹配初始条件。
输入序列x的长度必须大于滤波器阶数的三倍,阶数定义为max(length(b)-1,length(a)-1)。
注意FILTFILT不应当被用于HilbertFIR滤波器,因为这些滤波器的相位特性是很重要的。
3.[y,fs,nbits]=wavread(wavFile1);
y就是音频信号;
fs是采样频率,比如说16000就是每秒16000次;
nbit是采样精度,比如说16就是指16位精度的采样;
wavread('
F:
\a.wav'
1024)%读取该音频文件前1024个采样点若X为信号,n为变换点数。
4.Y=fft(X)是对信号X进行快速傅里叶变换;
Y=fft(X,n)就是对信号X的前n个点进行快速傅里叶变换,如果n大于x的点数,则直接取前n个点,若小于n,则X先进行补零扩展为n点序列再求N点FFT。
一般情况下,n要取最接近X长度的2的整数幂,这样可以实现更快的FFT,ᨀ高计算效率。
5.fftshift是将FFT的直流分量移到频谱中心fft是一维傅里叶变换,即将时域信号转换为频域信号而fftshift是针对频域的,将FFT的DC分量移到频谱中心即对频域的图像,(假设用一条水平线和一条垂直线将频谱图分成四块)对这四块进行对角线的交换与反对角线的交换
语音信号的调制解调
1.了解语音信号处理在通信中的应用
2.理解幅度调制和解调的原理及方法
二、实验题目、程序和结果
实现一个基本的AM调制解调系统
Step1.打开matlab新建一个M文件
Step2.编写幅度调制代码
(1)产生一个信息信号
(2)产生一个载波信号
(3)调制
Step3.添加噪声
Step4.带通滤波
Step5.相干解调
(1)经过乘法器
(2)低通滤波
(3)频谱绘制
第一步:
Y=fft(X);
将信号X进行傅里叶变换,点数为信号长度。
第二步:
f=(0:
40000)*fs/40001-fs/2;
第三步:
plot(f,fftshift(abs(Y)));
fftshift是将FFT的直流分量移到频谱中心。
y1=sin(t*10*pi);
subplot(521);
plot(t,y1);
调制信号'
时间/s'
幅度'
xlim([-0.5,0.5])
fs=100;
%采样频率
N=512;
%数据点数
yk1=fft(y1,N);
%取N个点进行快速傅里叶变换
yw1=abs(fftshift(yk1));
%将直流分量移到频谱中心
fw1=[-255:
256]/N*fs;
%将fs划分为N分,取点
subplot(522);
plot(fw1,yw1);
调制信号的频谱'
频率/hz'
F(w)'
xlim([-8,8])
y2=cos(pi*200*t);
%载波信号
subplot(523)
plot(t,y2);
载波信号'
axis([-0.10.1-1.51.5])
yk2=fft(y2,N);
%快速傅里叶变换
yw2=abs(fftshift(yk2));
fw2=[-255:
subplot(524);
plot(fw2,yw2);
载波信号的频谱'
axis([-20200400])
y3=(y1+5).*y2;
%幅度调制
subplot(525)
plot(t,y3);
已调信号'
),ylabel('
axis([-11-1515])
fs1=200;
yk3=fft(y3,N);
yw3=abs(yk3);
fw3=[-255:
256]/512*fs1;
subplot(526)
plot(fw3,yw3);
已调制信号的频谱'
频率/Hz'
Fdsb(w)'
axis([-10010001500])
y4=y3.*y2;
%解调
subplot(527)
plot(t,y4);
解调信号'
yk4=fft(y4,N);
yw4=abs(yk4);
fw4=[-255:
subplot(528)
plot(fw4,yw4);
解调信号的频谱'
Rp=1;
Rs=60;
Wp=0.03;
Ws=0.1;
%0.03Hz一下频率通过,幅度衰减1db;
0.1Hz以上的频率截止,幅度衰减60dB
[n,Wn]=buttord(Wp,Ws,Rp,Rs);
[B,A]=butter(n,Wn);
%得到巴特沃斯型低通滤波器的参数
X1=filter(B,A,y4);
%将解调后的信号y6通过滤波器,得到X1
ft=2*X1-5;
%将滤波后的信号乘以2倍,减去直流分量,得到原输入信号
subplot(427);
plot(t,ft);
解调滤波后的f(t)'
yk4=fft(ft,N);
yw4=abs(fftshift(yk4));
256]/N*fs1;
subplot(428);
解调滤波后信号的频谱'
三、实验分析和总结
如图像所示,将一个低频待调信号经过加上一个平移量后与一个高频载波信号相乘即完成了信号的调制,调制后的信号是一个以待调信号的波形为包络线的高频信号。
而信号的解调需将调制信号乘以一个与载波信号完全相同的信号,然后经过一个低通滤波器得到原信号。
由图像中可以看出,信号的调制就是将信号的频谱对称搬移幅度减半的过程,解调同理,但若解调信号不经过滤波器的滤波,得到的信号会是杂乱的,因为有高频分量的干扰,经过滤波器才能得到干净的原始信号(但解调后的信号的频谱与原始信号仍有一些差别)。
信号的调制这一实验看似复杂,但其实难度不大,要求真正了解信号调制的原理就可以很快的得出实验结果。
所以上课时必须认真听讲,搞懂信号调制原理,这样才能快速做出来。
大连理工大学实验预习报告
连续时间系统分析
1.建立系统的概念
2.掌握连续时间系统的单位冲激响应的求解
3.掌握连续时间系统单位阶跃响应的求解
4.掌握连续时间系统零极点的求解
5.分析系统零极点对系统幅频特性的影响
6.分析零极点对系统稳定性的影响
7.介绍常用信号处理的MATLAB工具箱
1.sys=tf(num,den):
用来建立实部或复数传递函数模型或将状态方程、或零级增益模型转化成传递函数形式。
命令可以建立一个传递函数,其中分子和分母分别为num和den。
输出sys是储存传递函数数据的传递函数目标。
Num和den是单元数组,其中行数等于输出数,列数等于输入数;
行向量num{i,j}和den{i,j}定义了从输入j到输出i的传递函数的分子与分母。
num=[0011];
den=[192624];
sys1=tf(num,den);
2.impulse(sys):
计算并画出系统的冲激响应。
sys为tf(num,den)建立的系统函数。
根据状态方程输出单一系统的脉冲响应num=[0011];
sys=tf(num,den);
Y=impulse(sys);
3.impulse(sys,t):
计算并画出系统在t定义的时间内的冲激响应。
sys—系统函数,t—采样时间矢量例:
t=0:
0.01:
10;
Y=impulse(sys,t);
4.step(sys):
计算并画出系统的阶跃响应。
根据状态方程输出多系统的阶跃响应num=[0011];
Y=step(sys,'
r-'
5.step(sys,t):
计算并画出系统在t定义的时间内的阶跃响应。
Y=step(sys,t,'
6.[h,w]=freqs(num,den):
计算系统的频率特性h,jw。
Num—传递函数分子矢量den—传递函数分母矢量例:
根据传递函数绘制脉冲响应曲线以及一般频率响应图。
num=[0020];
den=[16116];
impulse(sys);
[h,w]=freqs(num,den);
7.roots:
求方程的根。
求P(x)=5x^4+4x^3+3x^2+2x+1的零点。
P=[54321];
%多项式各项的系数roots(p)%求零点,也就是多项式的解ans=0.1378+0.6782i0.1378-0.6782i-0.5378+0.3583i-0.5378-0.3583i
大连理工大学实验报告
2016.5.13实验室:
三、实验