我是靠谱客的博主 甜美大山,最近开发中收集的这篇文章主要介绍Matlab生成各种伪随机信号_idinput指令1.为何不是冲激信号?2.初识idinput指令3.MATLAB仿真与测试,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
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指令1.为何不是冲激信号?2.初识idinput指令3.MATLAB仿真与测试的全部内容,希望文章能够帮你解决Matlab生成各种伪随机信号_idinput指令1.为何不是冲激信号?2.初识idinput指令3.MATLAB仿真与测试所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复