随机信号通过线性系统和非线性系统后会是什么样子的Word格式.docx
《随机信号通过线性系统和非线性系统后会是什么样子的Word格式.docx》由会员分享,可在线阅读,更多相关《随机信号通过线性系统和非线性系统后会是什么样子的Word格式.docx(12页珍藏版)》请在冰点文库上搜索。
![随机信号通过线性系统和非线性系统后会是什么样子的Word格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/8/8f80e138-ee17-4f68-ab73-0800a69dbb39/8f80e138-ee17-4f68-ab73-0800a69dbb391.gif)
描述了信号的波动量;
描述了信号的静态量,方差反映了信号绕均值的波动程度。
在已知均值和均方值的前提下,方差就很容易求得了。
随机过程的自相关函数:
。
信号的相关性是指客观事物变化量之间的相依关系。
对于平稳随机过程X(t)和Y(t)在两个不同时刻t和t+τ的起伏值的关联程度,可以用相关函数表示。
在离散情况下,信号x(n)和y(n)的相关函数定义为:
τ,t=0,1,2,…N-1。
但是,相关函数与和的强度有关,若或(为均值)很小,即使两者的相关程度较强(当时间差τ较小时),则相关函数也不会大,所以相关函数并不能准确地表示关联程度的大小。
为了消除起伏值对相关函数的影响,需要对相关函数做规一化处理,所以引入了相关系数的概念。
平稳随机过程的相关系数由下式定义:
相关系数又称为规一化相关函数,它确切表征了平稳随机过程在两个不同时刻的起伏值之间的线性关联程度。
自然界中的事物变化规律的表现,总有互相关联的现象,不一定是线形相关,也不一定是完全无关,如人的身高与体重,吸烟与寿命的关系等。
随机信号的自相关函数表示波形自身不同时刻的相似程度。
与波形分析、频谱分析相比,它具有能够在强噪声干扰情况下准确地识别信号周期的特点。
下面是几种典型信号的自相关(互相关)函数:
正弦波函数的自相关:
正弦波与噪声的互相关函数:
正弦波与方波的互相关函数:
正弦波与三角波的互相关函数:
正弦波与小波信号的互相关函数:
正弦波与自身加噪声的互相关函数:
正弦波加噪声的自相关函数:
⑤随机过程的频谱:
信号频谱分析是采用傅立叶变换将时域信号x(t)变换为频域信号X(f),从而帮助人们从另一个角度来了解信号的特征。
时域信号x(t)的傅氏变换为:
信号的时域描述只能反映信号的幅值随时间的变化情况,除只有一个频率分量的简谐波外一般很难明确揭示信号的频率组成和各频率分量的大小。
例如,下图是一受噪声干扰的多频率成分周期信号,从信号波形上很难看出其特征,但从信号的功率谱上却可以判断、并识别出信号中的四个周期分量和它们的大小。
信号的频谱X(f)代表了信号在不同频率分量处信号成分的大小,它能够提供比时域信号波形更直观,丰富的信息。
受噪声干扰的多频率成分周期信号波形和频谱
我们从傅氏变换的定义出发编写傅氏变换程序,来计算信号的频谱。
当然,这种算法在实际应用过程中由于速度慢而不可取(实际应用中通常使用快速算法FFT),在这里我们只作为分析信号的一种方法,由于编程简单供同学们参考,程序如下:
m=n=0;
m表示信号的实部,n表示信号的虚部
voidfft(doublesignal,intN1)
{intj,i;
doublem,n;
for(i=0;
iN1;
i++)
{
for(j=0;
jN1;
j++)
m=signal[j]*cos(2*3.1415/N1*i*j)+m;
//实部
n=signal[j]*sin(2*3.1415/N1*i*j)+n;
//虚部
}
signalr[i]=m;
//实部,定义成全局变量
signali[i]=n;
//虚部,定义成全局变量
m=0;
n=0;
⑥随机过程的功率普密度:
随机信号的功率普密度是随机信号的各个样本在单位频带内的频谱分量消耗在一欧姆电阻上的平均功率之统计均值,是从频域描述随机信号的平均统计参量,表示X(t)的平均功率在频域上的分布。
它只反映随机信号的振幅信息,而没有反映相位信息。
随机过程的功率普密度为:
-∞<
ω<
+∞
随机信号的平均功率就是随机信号的均方值。
随机信号功率谱密度的性质:
★功率谱密度为非负值,即功率谱密度大与等于0。
★功率谱密度是ω的实函数。
★对于实随机信号来说,功率谱密度是ω的偶函数,即Sx(ω)=Sx(-ω)。
★功率谱密度可积。
功率谱密度曲线下的总面积(即随机信号的全部功率)等于随机信号的均方值。
★随机信号的功率谱与它的自相关函数构成一对傅里叶变换对。
⑵线性系统
线性系统的输入x(t)和输出y(t)之间的关系可以用常系数线性微分方程来描述:
any(n)(t)+an-1y(n-1)(t)+…+a1y
(1)(t)+a0y(0)(t)=bmx(m)(t)+bm-1x(m-1)(t)+b1x
(1)(t)+b0x(0)(t)
其中a0,a1,…,an和b0,b1,…,bm均为常数,则称该系统为线性定常系统,线性定常系统有下面的一些重要性质:
☆叠加性
系统对各输入之和的输出等于各单个输入所得的输出之和,即
若x1(t)→y1(t),x2(t)→y2(t)。
则x1(t)±
x2(t)→y1(t)±
y2(t)
☆比例性
常数倍输入所得的输出等于原输入所得输出的常数倍,即
若x(t)→y(t)。
则kx(t)→ky(t)
☆微分性
系统对原输入信号的微分等于原输出信号的微分,即
则x'
(t)→y'
(t)
☆积分性
当初始条件为零时,系统对原输入信号的积分等于原输出信号的积分,即
则∫x(t)dt→∫y(t)dt
☆频率保持性
若系统的输入为某一频率的谐波信号,则系统的稳态输出将为同一频率的谐波信号,即
若x(t)=Acos(ωt+φx)。
则y(t)=Bcos(ωt+φy)
大家知道,线性动态系统分析的中心问题是给定一个输入信号求输出响应。
在确定信号输入的情况下,输出响应都有一个明确的表达式。
而对于随机信号而言,要想得到输出响应的确定表达是不可能的。
然而,一个随机信号可以方便的通过其均值方差、相关函数、频谱及功率谱密度等特性来加以描述。
我们在这里研究的问题是如何根据线性系统输入随机信号的统计特性及线性系统的特性,确定线性系统的统计特性。
当输入离散信号为双侧平稳随机信号时,信号经过线性系统后的统计特性:
输出过程的均值为:
时域分析:
其中是信号经线性系统后的均值,是输入信号的均值
频域分析:
输出过程的自相关函数为
线性系统输出的自相关是输入的自相关同系统冲击响应的自相关的卷积。
输出过程的互相关函数为
输出信号的均方值(平均功率)为;
输出的均值为常数,输出自相关函数只是m的函数。
输出信号的功率谱密度:
⑶非线性系统
在一般电子设备中,除了线性电路之外,通常还包括一些非线性电路,例如检波器、限幅器、鉴频器等。
非线性电路具有下述特点:
①叠加原理已不适用,当信号与噪声共同通过非线性电路时,不能象线性电路那样将它们分开研究。
②会发生频谱变换,产生出输入电路中不含有的新频谱分量,例如输入信号的各次谐波。
与线性系统相同,非线性动态系统分析的中心问题也是给定一个输入信号求输出响应。
一个随机信号可以方便的通过其均值方差、相关函数、频谱及功率谱密度等特性来加以描述。
我们在这里研究的问题是如何根据非线性系统输入随机信号的统计特性及线性系统的特性,确定非线性系统的统计特性。
⒊实验任务与要求
我们做这个实验的目的是使同学掌握怎样用随机信号分析理论去测试一个系统。
要做好这次实验,要求你做的工作是:
①编写计算随机信号统计特性程序并通过程序调试
要计算随机信号的统计特性,首先要选择编程的语言环境。
也就是说你准备选择什么语言来编成。
选用C语言还是选用matlab语言有指导教师定。
语言环境选中之后,就要解决算法及编程问题。
根据你所学的随机信号分析理论知识,找出均值、方差,相关函数(包括自相关、互相关函数)、频谱及功率谱密度算法,然后将这些算法用C程序实现,至于如何将算法变成数学模型以及程序的编写就要靠同学的智慧了,在这里不再叙述。
要计算随机信号,首先要将模拟的随机信号转换为数字信号。
要实现模数转换,我们首先想到的就是要有一块A/D卡进行数据采样。
我们提供了两种采样方式:
声卡采样和AD/DA经USB传送到计算机的采样方式。
首先根据老师的要求选择采样方式,采样方式不同使用的采样程序不同。
采样程序我们会提供给同学们使用。
你在主程序中必须调用采样程序,才会有输入数据。
输入数据是由信号源发出的信号+噪声(由程序产生),在这里作为随机信号。
(需要你产生什么波形,在实验验收时会告诉你,也许是正弦波、方波AM波、白噪声等中的一个)。
特别要提到的是,如果使用的是实验板上的A/D卡,首先将信号源的输出端加到A/D输入端,然后将计算机的USB口与实验板的USB口相连,在将DSP下载程序下载到DSP板中。
这时才可以运行你的采样程序。
如果选用C语言,在主程序中除了要调用采样程序之外还要调用你自己编写的特性测试子程序以及要将计算的数据存储在文件中。
将数据存储到文件中要用到的C语句有:
定义文件指针:
FILE*fp
打开数据文件:
fp=fopen("
数据文件名.dat"
,"
wb"
)
将数据写入文件中:
frwrite(数组名,sizeof(数据类型),数据长度,文件指针)
关闭文件:
fclose(fp)
程序运行完之后将产生很多数据,要对这些数据进行分析。
找出均值、方差的准确值,以及相关程度、含多少个频谱分量、具体的频率成分、功率谱密度等。
具体用什么方发去分析,在这里可以提供几点供大家参考。
如果是一个定值,可在主程序中用输出语句直接输出,可以在屏幕上直接看到。
如果是一组值,将它们存储在数组或缓冲区中,然后再存入文件中。
文件中的数据可使用虚拟示波器(分析时域数据)、虚拟频谱分析仪(分析频域数据)来进行分析,虚拟仪器的使用,在做实验时由老师讲述。
把分析出的数据记录下来,经老师检查后,那么你就通过编程部分了。
②设计非线性系统
研究随机信号经非线性系统后的非线性变换问题,就要设计一个非线性系统。
非线性系统设计成一个平方率检波器。
模拟平方律检波器的电路原理图及特性曲线如下:
:
设计小信号平方律检波器,频率范围:
100KHz,输入信号幅度小于1v。
要使二极管工作在特性曲线弯曲部分,电路中应增加一个偏置电源E,在这里要注意偏置电压E的选择(也可以考虑不要偏置电压)。
Uk为输入高频电压,D为检波二极管,Rl为检波负载电阻,Cl为高频滤波电容。
下面各出了电路的参数的参考值,当然,你也可以根据你的需要来选择参数值。
但要注意τ=C1*R1,τ的大小直接影响检波器的工作状态。
参数选择:
Cl:
0.01ufRl:
1K
二极管:
平方率检波器设计好之后,要调试电路,使它处于正常的工作状态。
信号经平方率检波器之后有一定的衰减,如果衰减过大会影响后续电路的工作,这个问题必须考虑解决办法。
电路设计完成之后,首先在面包板上搭好电路,使正弦波信号通过平方率检波器,检验一下电路是否正确,正确的结果应该是半波整流,如果是,那么你就通过了。
设计线性系统
研究随机信号经线性系统后的线性变换问题,就要设计一个线性系统。
线性系统设计成一个低通滤波器,其滤波器的技术指标如下:
低通滤波器:
通带截止频率1KHz
阻带截止频率2KHz。
过渡带:
1KHz
阻带衰减:
35DB
通带衰减:
2DB
采样频率:
44.1KHz
滤波器的设计有很多方法可以选择,可用C语言、DSP、FPGA及硬件设计,我们这里要求大家使用硬件设计方法设计模拟低通滤波器。
滤波器设计好之后,在面包板上搭好电路,可以使方波信号通过低通滤波器以检测低通滤波器的工作情况。
正确的结果应该是低通滤波器将方波的其它成分滤除,只剩下基波成份,如果是,那么你就通过了。
下面给出了一个有源模拟低通滤波器的例子,可供参考(如果有兴趣,自己可以按以上给出的技术指标去设计一个模拟低通滤波器):
有源模拟低通滤波器:
0.41uf:
由标称值为103、334的两个电容并联组成。
0.21uf:
是标称值为224的一个电容。
0.03uf:
由两个标称值为683电容串联组成。
0.993uf:
是标称值为105的电容。
运算放大器741管脚图:
完成系统测试当完成程序调试、非线性系统设计及调试、线性系统设计及调试之后,按下面的原理框图将电路在面包板上连接好。
电路连接好之后进行以下的测试:
a.测试随机信号自身特性:
将声卡的连接线接到测试点1,信号源输出给定的测试波形,运行程序计算测试波形的相关特性,并用虚拟仪器测试,并记录结果(最好是将结果拷贝到文件)。
b.测试随机信号经平方率检波器后的特性:
将声卡的连接线接到测试点2,信号源仍输出个定的测试波形,运行程序计算测试波形经平方率检波器后的相关特性,并用虚拟仪器测试,并记录结果(最好是将结果拷贝到文件)。
c.测试随机信号经低通滤波器后的特性:
将声卡的连接线接到测试点3,信号源仍输出给定的测试波形,运行程序计算测试波形检波后再经低通滤波器的相关特性,并用虚拟仪器测试,并记录结果(最好是将结果拷贝到文件)。
做完这次实验,应该了解如何用随机信号分析理论去分析一个系统。
⑤需要注意的几个问题
使用虚拟信号分析仪
在虚拟信号分析仪的版面上有一个"
数据来源"
旋钮,将此旋钮放在"
采样"
位置,这时采集到的数据信号直接接到虚拟仪器上,可以实时的显示信号的均值、方差、相关函数、频谱及功率谱密度,并与自己编写的程序执行结果相比较,看看有什么差别。
★如果用C语言编程同学们可以参考的数据采样参考程序如下:
MMRESULTSample()
inti;
MMRESULTresult;
MMTIMEmmt;
longtemp;
m_NbMaxSamples=2048;
m_CalOffset=DEFAULT_CAL_OFFSET;
m_CalGain=DEFAULT_CAL_GAIN;
m_WaveInSampleRate=44100;
result=waveInGetNumDevs();
if(result==0)
printf("
提示信息"
"
没有准备好的通道号!
"
);
returnresult;
result=waveInGetDevCaps(0,&
m_WaveInDevCaps,sizeof(WAVEINCAPS));
if(result!
=MMSYSERR_NOERROR)
确定声卡有问题!
iMAX_SAMPLES;
InputBuffer[i]=0;
m_WaveFormat.wFormatTag=WAVE_FORMAT_PCM;
m_WaveFormat.nChannels=1;
m_WaveFormat.nSamplesPerSec=m_WaveInSampleRate;
m_WaveFormat.nAvgBytesPerSec=m_WaveInSampleRate*1*16/8;
m_WaveFormat.nBlockAlign=m_WaveFormat.nChannels*16/8;
m_WaveFormat.wBitsPerSample=16;
m_WaveFormat.cbSize=0;
result=waveInOpen(&
m_WaveIn,WAVE_MAPPER,&
m_WaveFormat,(DWORD)NULL,0L,CALLBACK_WINDOW);
{%0
来源网址:
空间完美搬家到新浪博客!
特别声明:
1:
资料来源于互联网,版权归属原作者
2:
资料内容属于网络意见,与本账号立场无关
3:
如有侵权,请告知,立即删除。