- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《数字信号处理》实验报告
姓 名:
学 号:
专业班级:
2011年11月
3.1Matlab数组索引
现在写一条语句,xx用(b)中定义的方法,把xx的偶数索引的元素(即xx(2),xx(4)等)的值替换为常数??。使用向量替换,不要用循环。
xx(2:2:12)=pi
xx = [ zeros(1,3), linspace(0,1,5), ones(1,4) ]
yy = xx; yy(2:2:12) = pi^pi
3.2Matlab脚本文件
解释为什么需要写yy(k+6)。如果用yy(k)会发生什么?
系统提示要使用正值,指令无法执行。
因为k初值为负值,如果作下标会导致程序向yy变量所占内存之前的内存中写入数据,这可能导致错误。K从-5开始 使用+6保证括号内为正数
使用YY(k)则提示index must be a positive integer or logical.
解释为什么real(zz)的图形是一个正弦曲线。它的相位和幅度是多少?由所绘图形的时移量计算相位。
取zz的实部可得到一个正弦函数,
Z取实部为 cos(π/2+5π*tt)*1.4 为一正弦函数 相位π/2+5π*tt 幅度为1.4
图有 T=0.4 则 W=5π tt=0时 值为0 初相位π/2 故相位为π/2+5π*tt
即复指数的实部是一个余弦函数,但是由于乘以了复数因子exp(j*pi/2),因此导致相位增加了90度,所以是一个正弦函数。
4.用Matlab处理正弦信号
(b)生成以下两个4000Hz的正弦序列:
x1(t)?=?A1?cos(2π(4000)(t???tm1))??x2(t)?=?A2?cos(2π(4000)(t???tm2))?
其中A1是你的年龄,A2=1.2A1,tm1?=?(37.2/M)T?,tm2?=??(41.3/D)T?,这里M和D分别是你生日的月和日,T是周期
绘制以上两个信号在-T≤t≤T的图形。为了输出下面(d)的要求,使用subplot(3,1,1)和subplot(3,1,2)来使图在一个图形窗口内,详见helpwin subplot
一般用法是:
subplot(2,1,2);
plot(xx);
(c)创建第3个正弦信号为?x3(t)?=?x1(t)?+?x2(t).?在Matlab中,这表示把两个正弦向量中的值对应相加。绘制?x3(t)?在-T≤t≤T的图形,使用subplot(3,1,3)绘图。
(d)对每个图都添加一个图名,图名都要包含你的姓名,用title函数
详见 helpwin title, helpwin subplot
tt=-0.00025:0.00001:0.000025
A1=19
M=5
D=20
T=0.00025
A2=1.2*A1
tm1 = (37.2/M)*T
tm2 = -(41.3/D)*T
x1 = A1* cos(2*pi*(4000)*(tt - tm1))
x2 = A2* cos(2*pi*(4000)*(tt - tm2))
subplot(3,1,1)
plot(tt,x1)
title(刘非凡)
xlabel(TIME (sec))
subplot(3,1,2)
plot(tt,x2)
title(刘非凡)
xlabel(TIME (sec))
x3=x1+x2
subplot(3,1,3)
plot(tt,x3)
title(刘非凡)
xlabel(TIME (sec))
5.3 向量化
Ma
用这种向量化的方法编写2-3行代码完成以下Matlab代码,不使用循环。(注:当xx是向量时,xx*xx和xx.*xx是不同的)
N = 200;
rk(1:200) = sqrt( (1:N).*(1:N)/2500 + 2.25 );
sig(1:200) = exp(j*2*pi*rk(1:200));
plot( xk, real(sig), mo- )
%--- make a plot of a weird signal
N = 200;
for k=1:N
xk(k) = k/50;
rk(k) = sqrt( xk(k)*xk(k) + 2.25 );
sig(k) = exp(j*2*pi*rk(k));
end
plot( xk, real(sig), mo- )
向量化改写的代码如下:
N=200;
yy=sqrt((1/50:1/50:N/50).*(1/50:1/50:N/50)+2.25);
zz=exp(2*j*pi*yy);
plot(1:N,yy,b-,1:N,real(zz),r
文档评论(0)