Matlab生成各种伪随机信号_idinput指令
生活随笔
收集整理的這篇文章主要介紹了
Matlab生成各种伪随机信号_idinput指令
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.為何不是沖激信號?
只要是在信號系統這條道上混過的童鞋都知道,沖激信號是測試系統的最理想信號。因為時域的卷積相當于頻域的乘積,而沖擊信號的頻域擁有最廣泛的頻譜,可以“暴露”系統最完整的信息,那么問題來了?這么好的東西,你咋就不用呢?傻~ 還真不是這樣,能讓我們計算機產生一個理想的沖激信號那是多難的事啊!!!想象狄拉克,就被難為人了......那咱辦呢?這時候一大群數學家來了.....么子事,沖激信號不能直接產生,我們可以合成啊!!!這里要提醒一個很重要的的事:白噪聲的自相關恰恰最佳逼近沖激信號! 所以在我們工程研究上,白噪聲信號才是最理想的輸入信號,這也能解釋為什么好多研究中都采用白噪聲作為測試。本文的撰寫具有很重要的意義。2.初識idinput指令
2.1基本調用格式
u = idinput(N,type,band,levels)?[u,freqs] = idinput(N,’sine’,band,levels,sinedata)?
2.2參數說明
N:產生的序列的長度,如果N=[N nu],則nu為輸入的通道數,如果N=[P nu M],則nu指定通道數,P為周期,M*P為信號長度。默認情況下,nu=1,M=1,即一個通道,一個周期。?Type:指定產生信號的類型,可選類型如下 :'rgs'高斯隨機信號;'rbs'(默認)二值隨機信號 ;'prbs'二值偽隨機信號(M序列)?'sine'正弦信號和 。
Band?:指定信號的頻率成分。對于'rgs'、'rbs'、'sine',band = [wlow, whigh]指定通帶的范圍,如果是白噪聲信號,則band=[0, 1],這也是默認值。指定非默認值時,相當于有色噪聲。?對于'prbs',band=[0, B],B表示信號在一個間隔1/B(時鐘周期)內為恒值,默認為[0, 1]。?
Levels?:指定輸入的水平。Levels=[minu, maxu],在type='rbs'、'prbs'、'sine'時,表示信號u的值總是在minu和maxu之間。對于type='rgs',minu指定信號的均值減標準差,maxu指定信號的均值加標準差,對于0均值、標準差為1的高斯白噪聲信號,則levels=[-1, 1],這也是默認值。?
3.MATLAB仿真與測試
3.1 生成高斯偽隨機信號
clc clear all close all % 高斯隨機信號 u = idinput(1000, 'rgs'); subplot(1,3,1) stairs(u) title('高斯隨機信號') subplot(1,3,2) hist(u, -4:4) title('高斯隨機信號的分布') c = xcorr(u, coeff); % 自相關函數 subplot(1,3,3) plot(c) title('相關函數')3.2 生成正弦偽隨機信號 clc ;clear all ;close all % 高斯隨機信號 u = idinput(100, 'sine'); subplot(1,3,1) stairs(u) title('正弦隨機信號') subplot(1,3,2) hist(u, -4:4) title('正弦隨機信號的分布') c = xcorr(u, 'coeff'); % 自相關函數 subplot(1,3,3) plot(c) title('相關函數')
3.生成二值偽隨機信號
clc ;clear all ;close all % 高斯隨機信號 u = idinput(200, 'rbs'); subplot(1,2,1) stairs(u) title('二值隨機信號') c = xcorr(u, 'coeff'); % 自相關函數 subplot(1,2,2) plot(c) title('相關函數')4.生成二值偽隨機序列(M序列)
<span style="font-size:18px;"><span style="font-family:microsoft yahei;color:#555555;"><span style="line-height: 35px;">clc ;clear all ;close all n = 10; % 階次 p = 2^n -1; % 循環周期 ms = idinput(p, 'prbs'); subplot(1,2,1) stairs(ms) title('M序列') %ylim([-1.5 1.5]) c = xcorr(ms, 'coeff'); % 自相關函數 subplot(1,2,2) plot(c) title('相關函數') </span></span></span>%?<wbr>?<wbr>?自相關函數接近于δ函數<span style="font-size:18px;"></span></wbr></wbr>進行譜密度深入分析:
譜分析表明,M序列含有直流成分,將造成對辨識系統的“凈擾動”,這通常不是所希望的。而逆M序列將克服這一缺點,是一種比M序列更為理想的偽隨機碼序列。
5.生成逆M序列偽信號
總結
以上是生活随笔為你收集整理的Matlab生成各种伪随机信号_idinput指令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win7和Vista移动设备正常弹出
- 下一篇: 飞鸽传书:webbrowser 本生是一