我需要創建一個矩形脈沖,其width = 7范圍為59 毫秒。(-T/2, T/2)T
我寫了這段代碼,但我不確定這是否正確。
w = 7;
T = 59;
t = -T/2:1:T/2;
rect = rectpuls(t, w);
plot(t, rect);
此代碼生成一個矩形脈沖,但我不確定它是否正確。另外,我不太確定是什么t = -T/2:1:T/2;意思。我的意思是范圍是從 -29.5 到 29.5 與 step 1。當我將其設定為0.1或0.01時,我的脈搏會更好。為什么這會影響我的輸出?
請注意,我要做的第二件事是創建一個周期性的時鐘脈沖序列。我不知道這是否會影響我必須實作初始矩形脈沖的方式。
uj5u.com熱心網友回復:
當您增加數值函式(例如 Matlab rectpuls)在離散化連續的程序中使用的增量數時,您將因此而提高所述函式的準確性,但代價是(在這種情況下,可以忽略不計) ) 增加的計算成本。1當您使用較小的時間步(從到0.1到)離散化時,您正在這樣做0.01。
要創建相同矩形脈沖的周期性序列,您可以在回圈中呼叫該函式:
w = 7;
T = 59;
t = -T/2:1:T/2;
t_size = size(t);
N = 10;
rect = zeros(N, t_size(2));
interval = 20;
figure
plot(t, rectpuls(t, w));
xlim([-20 (N 1)*interval]);
ylim([0 1.1]);
hold on
for i = 1:N
t = (-T/2 i*interval): 1 :(T/2 i*interval);
rect(i,:) = rectpuls(t - i * interval, w);
plot(t, rect(i,:));
hold on
end
上面應該產生相同的矩形脈沖interval = 20 ms,每個時間長度為interval * (N 1) = 220 ms。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/479872.html
