【 MATLAB 】信號處理工具箱之波形產生函數 pulstran
前兩篇博文和這篇博文有些許聯系:

【 matlab 】信號處理工具箱之波形產生函數 rectpuls
【 matlab 】信號處理工具箱之波形產生函數 tripuls
MATLAB幫助文檔稱pulstran函數為:脈沖串(Pulse train)產生函數。 pulstran從連續函數或采樣原型脈沖生成脈沖序列。
語法格式:
語法格式1:
y = pulstran(t,d,'func')基于連續函數'func'的樣本生成脈沖序列,其中'func'是
'gauspuls',用于產生高斯調制的正弦脈沖
'rectpuls',用于生成采樣的非周期矩形
'tripuls',用于生成采樣的非周期三角形
pulstran被評估長度(d)次并且返回評估的總和y = func(t-d(1))+ func(t-d(2))+ ...
在移除從向量d獲取的標量參數偏移之后,在數組t中指定的參數值范圍內計算該函數。 請注意,func必須是一個矢量化函數,可以將數組t作為參數。
通過將d指定為兩列矩陣,可以將可選的增益因子應用于每個延遲的評估,其中第1列中定義的偏移和第2列中的相關增益。 請注意,行向量將被解釋為僅指定延遲。
使用上面這種格式,'func'的相關參數都是默認的。
可以設定‘func’的相關參數,見語法格式2.
語法格式2:
pulstran(t,d,'func',p1,p2,...)允許根據需要將其他參數傳遞給'func'。 例如:
func(t-d(1),p1,p2,...)+ func(t-d(2),p1,p2,...)+ ...
針對語法格式2舉個例子:
% This example generates an asymmetric sawtooth waveform with a repetition frequency of 3 Hz and a sawtooth width of 0.1 s.
% The signal length is 1 s and the sample rate is 1 kHz.
clc
clear
close all
t = 0 : 1/1e3 : 1; % 1 kHz sample freq for 1 s
d = 0 : 1/3 : 1; % 3 Hz repetition frequency
y = pulstran(t,d,'tripuls',0.1,-1);
plot(t,y)
xlabel 'Time (s)', ylabel Waveform
y = pulstran(t,d,'tripuls',0.1,-1);
這個函數中的0.1以及-1都是‘tripuls’的參數,例子0.1是脈寬,-1表示脈沖最高幅值在最左邊,如果將-1去掉,則默認為0.5.圖像如下:
可見,這是一個正三角鋸齒波脈沖串。
如果將‘func’的所有參數都使用默認值的話,那么就成了語法格式1了。
再舉一個例子:
要求都在程序開頭的注釋里,很簡單,懶著翻譯了。
% This example generates a periodic Gaussian pulse signal at 10 kHz with 50% bandwidth.
% The pulse repetition frequency is 1 kHz, the sample rate is 50 kHz,
% and the pulse train length is 10 ms. Each pulse has 80% of the amplitude of the preceding pulse.
clc
clear
close all
t = 0 : 1/50e3 : 10e-3;
d = [0 : 1/1e3 : 10e-3 ; 0.8.^(0:10)]';
y = pulstran(t,d,'gauspuls',10e3,0.5);
plot(t,y)
xlabel 'Time (s)', ylabel 'Periodic Gaussian pulse'
語法格式3:
pulstran(t,d,p,fs)生成一個脈沖序列,它是矢量p中原型脈沖的多個延遲插值之和,以fs速率采樣,其中p跨越時間間隔[0,(length(p) -1)/ fs],其樣本在此間隔之外相同。 默認情況下,線性插值用于生成延遲。
不太明白,先放這里。
pulstran(t,d,p)假設采樣率fs等于1 Hz。
也就是說如果省略了fs,則默認為1Hz。
pulstran(...,'func')指定替代插值方法。
就這樣吧!
MATLAB
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。