Matlab生成各种伪随机信号_idinput指令

来源:互联网 发布:广州商学院网络教学 编辑:程序博客网 时间:2024/05/16 10:36

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序列伪信号


3 0
原创粉丝点击