如何用matlab画出周期矩形脉冲信号及频谱图

如何用matlab画出周期矩形脉冲信号及频谱图,这个matlab程序怎么编,比如一个周期矩形脉冲信号的宽度为2,周期为8,强度为10谢谢哈,不过我试了,好像不太对哦,图像... 如何用matlab画出周期矩形脉冲信号及频谱图,这个matlab程序怎么编,比如一个周期矩形脉冲信号的宽度为2,周期为8,强度为10
谢谢哈,不过我试了,好像不太对哦,图像不对,而且有错误,没有频谱图,麻烦您再帮下忙哦~
展开
 我来答
大野瘦子
高粉答主

2019-10-13 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:34.3万
展开全部

这样:

x1=ones(1,2);

x2=[x1,zeros(1,6)];

x=10*x2;%所求的周期脉冲信号

N=8;%长度为8

n=[0:1:N-1];

k=[0:1:N-1];

WN=exp(-j*2*pi/N);

nk=n'*k;

WNnk=WN.^nk;

Xk=x*WNnk;

magXk=abs([Xk(N/2+1:N),Xk(1:N/2+1)]);

subplot(2,1,1);stem(n,x);%画出周期脉冲信号

subplot(2,1,2);stem(k,magXk);

xlabel('k');ylabel('Xtilde(k)');

title('DFS of SQ.wave :L=2,N=8')%该信号频谱图

扩展资料:

注意事项

1、周期性矩形波(方波)信号:在MATLAB中用square函数来表示,其调用形式为

y=square(t,DUTY)

其作用类似于sin(t),用以产生一个时长为t、幅值为±1的周期性方波信号,其中的DUTY参数表示占空比,即在信号的一个周期中正值所占的百分比。例如频率为30Hz的周期性方波信号的 MATLAB 参考程序如下:

t=-2*pi/100:pi/1024:2*pi/100;

y=square(2*pi*30*t,50);

plot(t,y);

grid

ylim([-1.5 1.5])

2、matlab产生方波脉冲和周期性方波信号

矩形脉冲信号:在MATLAB中用rectpuls函数来表示,其调用形式为

y=rectpuls(t,width)

用以产生一个幅值为1,宽度为width,相对于t=0点左右对称的矩形波信号,该函数的横坐标范围由向量t决定,是以t=0为中心向左右各展开width/2的范围,width的默认值为1。

例:画宽为2的矩形脉冲信号的MATLAB源程序如下:

width=2;

t=-2:0.001:3;

ft=rectpuls(t,width);

plot(t,ft);

grid on;

ylim([-0.5 1.5])

东莞大凡
2024-08-07 广告
标定板认准大凡光学科技,专业生产研发厂家,专业从事光学影像测量仪,光学投影测量仪.光学三维测量仪,光学二维测量仪,光学二维测量仪,光学三维测量仪,光学二维测量仪.的研发生产销售。东莞市大凡光学科技有限公司创立于 2018 年,公司总部坐落于... 点击进入详情页
本回答由东莞大凡提供
tyz20031212
推荐于2017-11-26 · TA获得超过1364个赞
知道小有建树答主
回答量:372
采纳率:100%
帮助的人:278万
展开全部
x1=ones(1,2);
x2=[x1,zeros(1,6)];
x=10*x2;%所求的周期脉冲信号
N=8;%长度为8
n=[0:1:N-1];
k=[0:1:N-1];
WN=exp(-j*2*pi/N);
nk=n'*k;
WNnk=WN.^nk;
Xk=x*WNnk;
magXk=abs([Xk(N/2+1:N),Xk(1:N/2+1)]);
subplot(2,1,1);stem(n,x);%画出周期脉冲信号
subplot(2,1,2);stem(k,magXk);
xlabel('k');ylabel('Xtilde(k)');
title('DFS of SQ.wave :L=2,N=8')%该信号频谱图

不好意思写掉了一点
x1=ones(1,2);
x2=[x1,zeros(1,6)];
x=10*x2;%所求的周期脉冲信号
N=8;%长度为8
n=[0:1:N-1];
k=[0:1:N-1];
k1=[-N/2:N/2];
WN=exp(-j*2*pi/N);
nk=n'*k;
WNnk=WN.^nk;
Xk=x*WNnk; magXk=abs([Xk(N/2+1:N),Xk(1:N/2+1)]);
subplot(2,1,1);stem(n,x);%画出周期脉冲信号
subplot(2,1,2);stem(k1,magXk);
xlabel('k1');ylabel('Xtilde(k)');
title('DFS of SQ.wave :L=2,N=8')%该信号频谱图
你再试一试看看,我运行了是正确的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
彤立以潍
2019-02-14 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.1万
采纳率:31%
帮助的人:746万
展开全部
周期方波信号可以用ones()和zeros()命令做出来
频谱图就用fft()命令做傅里叶变换,之后再处理一下就行了
具体不多解释,给个程序样例:
(为了省点事,这里采用的是rectpuls函数输出一个矩形脉冲)
t=-20:20;
w=10;
y=rectpuls(t,w);
%矩形脉冲信号
yy=fft(y);
%傅里叶变换
n=size(y);
n=n(2);
%宽度
fy=abs(fft(y))/n*2;
%得到频谱
subplot(2,1,1)
plot(y);
subplot(2,1,2)
plot(fy);
输出见图。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
殷明明孙枫
2019-11-05 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.2万
采纳率:27%
帮助的人:760万
展开全部
如何用matlab画出周期矩形脉冲信号及频谱
x=10*x2;%所求的周期脉冲信号
N=8;%长度为8
n=[0:1:N-1];
k=[0:1:N-1];
WN=exp(-j*2*pi/N);
nk=n'*k;
WNnk=WN.^nk;Xk=x*WNnk;magXk=abs([Xk(N/2+1:N),Xk(1:N/2+1)]);
subplot(2,1,1);stem(n,x);%画出周期脉冲信号
subplot(2,1,2);stem(k,magXk);
xlabel('k');ylabel('Xtilde(k)');
title('DFS
of
SQ.wave
:L=2,N=8')%该信号频谱图
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式