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)
用subplot函数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 ><span ><span >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 ></span></wbr></wbr>
进⾏谱密度深⼊分析:
谱分析表明,M序列含有直流成分,将造成对辨识系统的“净扰动”,这通常不是所希望的。⽽逆M序列将克服这⼀缺点,是⼀种⽐M序列更为理想的伪随机码序列。
5.⽣成逆M序列伪信号

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。