matlab怎么画周期脉冲信号的频谱图?
这样:
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])
绛旓細鐢ㄤ互浜х敓涓涓箙鍊间负1锛屽搴︿负width锛岀浉瀵逛簬t=0鐐瑰乏鍙冲绉扮殑鐭╁舰娉俊鍙凤紝璇ュ嚱鏁扮殑妯潗鏍囪寖鍥寸敱鍚戦噺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(...
绛旓細MATLAB-simulink 鑴夊啿淇″彿浜х敓 鎬濊矾锛氬埄鐢ㄤ袱涓猻tep鐩稿噺浜х敓涓涓剦鍐蹭俊鍙凤細璋冭妭step time 鐨勫ぇ灏忥紝姣斿step 涓0锛宻tep1涓1锛涢偅涔堜袱涓浉鍑忎负涓涓剦鍐插搴︿负1s鐨勮剦鍐蹭俊鍙凤紝涓嬮潰鐪嬫楠ゅ垎瑙 绗竴姝ユ楠屾帶鍒跺浘 绗簩姝ヨ皟鑺俿tep time 鐨勫ぇ灏忥紝姣斿step 涓0锛宻tep1涓1锛涢偅涔堜袱涓浉鍑忎负涓涓剦鍐插搴︿负1s鐨勮剦鍐...
绛旓細浠庤剦鍐茬殑瀹氫箟鍐呮垜浠笉闅剧湅鍑猴紝鑴夊啿鏈夐棿闅旀х殑鐗瑰緛锛屽洜姝ゆ垜浠彲浠ユ妸鑴夊啿浣滀负涓绉嶄俊鍙枫傝剦鍐蹭俊鍙风殑瀹氫箟鐢辨浜х敓锛氱浉瀵逛簬杩炵画淇″彿锛堝湪鏁翠釜淇″彿鍛ㄦ湡鍐呯煭鏃堕棿涓兘鏈夌殑淇″彿锛夛紝澶ч儴鍒鑴夊啿淇″彿鍛ㄦ湡鍐呮槸娌℃湁淇″彿鐨勩傚氨璞′汉鐨勮剦鎼忎竴鏍枫傚彲閫嗘э細濡傛灉绯荤粺鏄彲閫嗙殑锛屽垯鍏惰剦鍐插搷搴旀槸瀵圭О鐨勶紝鍗$h[n]=h[-n]$銆備綆...
绛旓細== TA 伪 n=0:50; %瀹氫箟搴忓垪鐨勯暱搴︽槸 50 A=1; %璁剧疆淇″彿鏈夊叧鐨勫弬鏁 a=0.4; T=1; %閲囨牱鐜 w0=2.0734; x=A*exp(-a*n*T).*sin(w0*n*T); %pi 鏄 MATLAB 瀹氫箟鐨勏锛屼俊鍙蜂箻鍙噰鐢ㄢ .*鈥 close all %娓呴櫎宸茬粡缁樺埗鐨 x(n)鍥惧舰 subplot(3,1,1);stem(x); %缁樺埗 x(n)...
绛旓細legend('鍘熷淇″彿', '妫娴嬪埌鐨勮剦鍐');```杩欓噷鎴戜滑灏嗗師濮嬩俊鍙蜂笌妫娴嬪埌鐨鑴夊啿缁樺埗鍦ㄥ悓涓寮犲浘涓婏紝鍙互鐩磋鍦扮湅鍒版娴嬪埌鐨勮剦鍐插湪鍘熷淇″彿涓殑浣嶇疆銆傚畬鏁寸殑浠g爜濡備笅鎵绀猴細```matlab 1. 鐢熸垚鑴夊啿淇″彿 t = linspace(0,1,2000);s = sin(2*pi*200*t) + sin(2*pi*400*t);p = [zeros(1,600)...
绛旓細鐢╩atlab鐢 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,...
绛旓細鏍囧噯鐨勭瓟妗!缁堜簬瑙e喅浜嗭紝鍙渶瑕佸姞涓琛岋紝绋嬪簭濡備笅锛歵=0:1/50E3:10e-3;d=[0:1/1E3:10e-3;0.8.^(0:10)]';d(:,1)=d(:,1)+(-0.00005+2*0.00005*rand(size(d,1),1));y=pulstran(t,d,'gauspuls',10e3,0.5);plot(t,y)娉㈠嘲浜х敓鐨勬椂闂存槸鐢眃鐨勭涓鍒楀喅瀹氱殑锛屾墍浠ュd鐨勭...
绛旓細simulink鈥斺攕imulink妯″潡鈥斺攕ources妯″潡鈥斺攕ine wave锛屽弻鍑籹ine wave鍚庡氨鍙互鏀瑰彉姝e鸡娉㈢殑鎸箙銆侀鐜囥佺浉浣
绛旓細浠ュ湪0 鍒 3蟺涔嬮棿绛夐棿闅斾骇鐢100涓偣锛岀劧鍚庝骇鐢熶竴涓鍛ㄦ湡涓2蟺鐨勬柟娉负渚嬶細Create a vector of 100 equally spaced numbers from 0 to 3蟺. Generate a square wave with a period of 2蟺.clear clc close all t = linspace(0, 3*pi);x = square(t);plot(t/pi,x,'.-',t/pi,sin(t...
绛旓細simulink鈥斺攕imulink妯″潡鈥斺攕ources妯″潡鈥斺攕ine wave锛屽弻鍑籹ine wave鍚庡氨鍙互鏀瑰彉姝e鸡娉㈢殑鎸箙銆侀鐜囥佺浉浣