数字信号的产生和基本运算

常用数字信号序列的产生

单位冲激序列 δ(n)

function [ x,n ] = impseq( n0,n1,n2 )
if ((n0<n1) || (n0>n2) || (n1>n2))
    error('Arguments must satisfy n1 <= n0 <= n2')
end
n = [n1:n2];
x = [(n-n0) == 0];

>> n=[-10:10];
>> y=impseq(0,-10,10);
>> stem(n,y) 


1

单位阶跃序列 2u(n5)

function [ x,n ] = stepseq( n0,n1,n2 )
if ((no<n1) || (n0>n2) || (n1>n2))
    error('Arguments must satisfy n1 <= n0 <= n2')
end
n = [n1:n2];
x = [(n-n0) >= 0];

>>n=[-10:10];
>>y=2*stepseq(5,-10,10);
>>stem(n,y)


2

矩形序列 R5(n)

>> n=[-10:10];
>> y=stepseq(0,-10,10)-stepseq(5,-10,10);
>> stem(n,y)


3

y(n)2sin(0.3πn)+0.5cos2(0.6πn)

>> n=[-10:10];
>> y=2*sin(0.3*pi*n)+0.5*(cos(0.6*pi*n)).^2;
>> stem(n,y)


4

数字信号的基本运算

%录制并保存人声x(n)
>> R=audiorecorder(44100,16,1);
>> recordblocking(R,45);
>> play(R);
>> x = getaudiodata(R);
>> audiowrite('myNews.wav',x,44100);
%读入并处理背景音乐y(n),原音频长度非45s,且是双声道,须处理
>> [y,Fs]=audioread('bgm.mp3');
>> y1=y(1:1984500,1);
%混音并保存
>> z=0.7*x+0.3*y1;
>> audiowrite('MySpeech.wav',z,44100);
%绘图
>> t=[1:1984500];         
>> figure
>> plot(t,x,t,y1,t,z);
>> title('z(n)=0.3*x(n)+0.7*y(n)');

%分别绘制图像
>> subplot(3,1,1),plot(x),title('MyNews');
>> subplot(3,1,2),plot(y1),title('bgm');
>> subplot(3,1,3),plot(z),title('MySpeech');


5

注:蓝色为 x(n) ,绿色为 y(n) ,红色为 z(n)

6

数字信号处理
Matlab实验一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值