当前位置:文档之家› 离散信号的产生及运算

离散信号的产生及运算

离散信号的产生及运算
实验一离散信号的产生及运算
一.实验目的:
1.复习和巩固数字信号处理中离散信号的产生和运算
2.学习和掌握用MATLAB 产生离散信号的方法
3.学习和掌握用MATLAB 对离散信号进行运算
二.实验原理
1.用MATLAB 函数产生离散信号
信号是数字信号处理的最基本内容。

没有信号,数字信号处理就没了工作对象。

MATLAB7.0 内部提供了大量的函数,用来产生常用的信号波形。

例如,三角函数(sin,cos), 指数函数(exp),锯齿波函数(sawtooth), 随机数函数(rand)等。

⑴产生被噪声污染的正弦信号
用随机数函数产生污染的正弦信号。

⑵产生单位脉冲序列和单位阶跃序列
按定义,单位脉冲序列为
0 0 0 1, ( ) 0,n n n n n n
单位阶跃序列为。

0 0 0 1, ( ) 0,n n u n n n n
⑶矩形脉冲信号:在MATLAB 中用rectpuls 函数来表示,其调用形式为:
y=rectpuls(t,width),用以产生一个幅值为1,宽度为width,相对于t=0 点左右对称的矩形波信号,该函数的横坐标范围由向量t 决定,是以t=0 为中心向左右各展开width/2 的范围,width 的默认值为1。

例:以t=2T(即t-2×T=0)为对称中心的矩形脉冲信号的MATLAB 源程序如下:(取T=1)
t=0:0.001:4;
T=1;
ft=rectpuls(t-2*T,2*T);
plot(t,ft);grid on; axis([0 4 –0.5 1.5]);
⑷周期性矩形波(方波)信号在MATLAB 中用square 函数来表示,其调用形式为:y=square(t,DUTY),用以产生一个周期为2π、幅值为±1 的周期性方波信号,其中的DUTY 参数表示占空比,即在信号的一个周期中正值所占的百分比。

例如频率为30Hz 的周期性方波信号的MATLAB 参考程序如下:
t=-0.0625:0.0001:0.0625;
y=square(2*pi*30*t,75);
plot(t,y);axis([-0.0625 0.0625 –1.5 1.5]);grid on ;
2.MATLAB 中信号的运算
乘法和加法:离散信号之间的乘法和加法,是指它的同序号的序列值逐项对应相乘和相加。

三.实验步骤及内容
内容:
1.产生噪声污染的正弦信号
2.产生以下信号,并作图
(1)幅度为5,频率为3Hz 的正弦信号
(2)幅度为13,脉宽为2,时间范围为-6~6s 的矩形脉冲信号
(3)幅度为1,占空比为70,周期为8 的周期三角波脉冲信号
(4)幅度为1,脉冲宽度占空比为30,周期为6 的周期方波信号
3.信号的基本运算:
(1)作图:y=sin(π*t/5)+4cos(π*t/4)
(2)在同一幅图中画出以下三个函数
X1(k)=sin(2*pi*100*/fs)
X2(k)=sin(2*pi*10*/fs )
y(k)= X1(k)*X2(k)
其中,采样频率fs=1000,k 为采样点,从1 取到500。

实验步骤:
1.认真复习离散信号的产生和运算
2.编写实验所用的程序
⑴产生被噪声污染的正弦信号要用到:
rand()------随机函数
sin() ——正弦函数
zeros()——零矩阵
length()——长度函数
⑵产生矩形脉冲,周期方波,周期三角波信号要用到:自定义函数function[] rectpuls() ——矩形脉冲函数
square()——周期方波函数
sawtooth()——周期三角波函数
⑶信号运算
两个函数相乘,要用到点乘运算符―.*‖
画子图要用到的subplot。

如:subplot(131)表示所产生的一行三列的图中的第一个。

subplot(235) 表示所产生的两行三列的图中的第五个。

数字信号处理实验一报告一:编码
1,产生被噪声污染的正弦信号
>> R=50;
d=rand(R,1)-0.5;
m=0:1:R-1;
s=2*sin(pi*m/(R/2));y1=zeros(1,50);
subplot(2,1,1),stem(m,s),hold on,plot(m,y1);
xlabel('Time index n');ylabel('Amplitude')
title('Original uncorrupted sequence')
subplot(2,1,2),stem(m,d),hold on,plot(m,y1);
>> xlabel('Time index n');ylabel('Amplitude')
>> title('Noise')
2(1), 幅度为5,频率为3Hz 的正弦信号
>> t=0:0.01:2;
A=5;
f=3;
y=A*sin(2*pi*f*t);
plot(t,y);
2(2), 幅度为13,脉宽为2,时间范围为-6~6s 的矩形脉冲信号>> t=-6:0.01:6;
ft=13*rectpuls(t,2);
>> plot(t,ft);axis([-6 6 -2 2]);
2(3), 幅度为1,占空比为70,周期为8 的周期三角波脉冲信号t=-6*pi:0.001:6*pi;
f=1/8;
y=sawtooth(2*pi*f*t,0.7);
>> plot(t,y);axis([-6*pi 6*pi -1.5 1.5]);
grid on;
2(4), 幅度为1,脉冲宽度占空比为30,周期为6 的周期方波信号>> t=-6:0.01:6;
f=1/6;
y=square(2*pi*f*t,30);
plot(t,y);axis([-6 6 -1.5 1.5]);grid on;
3(1), 信号的基本运算:
(1)作图:y=sin(π*t/5)+4cos(π*t/4) >> t=-10*pi:0.01:10*pi;
>> t1=t/5;
>> t2=t/4;
>> A=4;
>> y1=sin(pi*t1);
>> y2=A*cos(pi*t2);
>> y=y1+y2;
>> plot(t,y);grid on;
3(2):在同一幅图中画出以下三个函数
X1(k)=sin(2*pi*100*/fs)
X2(k)=sin(2*pi*10*/fs )
y(k)= X1(k)*X2(k)
其中,采样频率fs=1000,k 为采样点,从1 取到500 >> k=0:0.01:500;
fs=1000;
t=k/fs;
x1=sin(2*pi*100*t);
x2=sin(2*pi*10*t);
x=x1+x2;
y=(x1).*(x2);
>> figure,
>> subplot(3,1,1),plot(k,x1)
>> subplot(3,1,2),plot(k,x2);
subplot(3,1,3),plot(k,y);。

相关主题