随机信号实验报告材料(实用模板)(1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
随机信号实验报告
学院通信工程学院
专业信息工程
班级1401051班
制作人文杰14010510039 制作人晓鹏14010510003
一、 摘要
根据实验的要求与具体容,我们组做了一下分工,XXX 完成了本次的第一组实验即基于MATLAB 的信号通过线性系统与非线性系统的特性分析,具体容有(高斯白噪声n ,输入信号x ,通过线性与非线性系统的信号a,b,y1,y2的均值,均方值,方差,自相关函数,概率密度,功率谱密度以及频谱并把它们用波形表示出来),XXX 和XXX 两人合力完成了基于QUARTUS II 的2ASK 信号的产生及测试实验具体容有(XXX 负责M 序列发生器以及分频器,XXX 负责载波的产生以及开关函数和管脚配置),最后的示波器调试以及观察2ASK 信号的FFT 变换波形由我们组所有人一起完成的。
二、实验原理及要求
实验一、信号通过线性系统与非线性系统的特性分析
1、实验原理
① 随机过程的均值(数学期望):
均值E[x(t)](μ)表示集合平均值或数学期望值。
基于随机过程的各态历经性,可用时间间隔T 的幅值平均值表示,即:
∑-==10
/)()]([N t N
t x t x E
均值表达了信号变化的中心趋势,或称之为直流分量。
② 随机过程的均方值:
信号x(t)的均方值E[x2(t)](2ϕ),或称为平均功率,其表达式为:
N
t x t x E N t /)()]([(1
22
∑-==
均方值表达了信号的强度,其正平方根值,又称为有效值,也是信号的平均能量的一种表达。
③ 随机信号的方差:
信号x(t)的方差定义为:
N
t x E t x N t /)]]([)([10
22
∑-=-=σ
2σ称为均方差或标准差。
可以证明,2
22μϕσ+= 其中:2σ描述了信号的波动量;2μ 描述了信号的静态量,方差反映了信号绕均值的波动程度。
在已知均值和
均方值的前提下,方差就很容易求得了。
④随机信号的自相关函数
信号的相关性是指客观事物变化量之间的相依关系。
对于平稳随机过程X(t)和Y(t)在两个不同时刻t 和t+τ的起伏值的关联程度,可以用相关函数表示。
在离散情况下,信号x(n)和y(n)的相关函数定义为:
∑∑-=-+=10
1
N t
xy N
/)t (y )t (x ),t (N R τττ τ,t=0,1,2,……N-1。
⑤ 随机过程的频谱:
信号频谱分析是采用傅立叶变换将时域信号x(t)变换为频域信号)(f x ,从而帮助人们从另一个角度来了解信号的特征。
时域信号x(t)的傅氏变换为:
-j2πf t ()()x f x t e dt
∞
-∞
=
⎰
⑥ 随机过程的功率谱密度:
随机信号的功率普密度是随机信号的各个样本在单位频带的频谱分量消耗在一欧姆电阻上的平均功率的统计均值,是从频域描述随机信号的平均统计参量,表示X(t)的平均功率在频域上的分布。
它只反映随机信号的振幅信息,而没有反映相位信息。
随机过程的功率普密度为:
]
2|)(|lim [)(2
T
X E x G Ti T ω∞→= -∞<ω<+∞
随机⑵ 线性系统
线性系统的输入x(t)和输出y(t)之间的关系可以用常系数线性微分方程来描述。
线性定常系统有下面的一些重要性质:叠加性、齐次性、微分性、积分性、频率保持性。
当输入离散信号为双侧平稳随机信号时,信号经过线性系统后的统计特性: 输出过程的均值为:
)
()()()()(0
t m t h d t m h t m x x y *=-=⎰∞
τττ 其中
y
m 是信号经线性系统后的均
值,
x
m 是输入信号的均值。
输出过程的自相关函数为
)
(*)()(*)(*)()(m h m R m h m h m R m R xy x y -=-= 线性系统输出的自相关
是输入的自相关同系统冲击响应的自相关的卷积。
输出过程的互相关函数为
)
(*)()(m R m h m R x xy =
输出信号的均方值(平均功率)为;
)
()()()]([00
2
j k R j h k h n Y E k j x -=∑∑∞=∞
= 输出的均值为常数,输出自相关函
数只是m 的函数。
输出信号的功率谱密度:
频域分析:
)
(|)(|)(2ωωωx y S H S =
⑶ 非线性系统
非线性电路,例如检波器、限幅器、鉴频器等。
非线性电路具有下述特点: ① 叠加原理已不适用,当信号与噪声共同通过非线性电路时,不能像线性电路那样将它们分开研究。
② 会发生频谱变换,产生出输入电路中不含有的新频谱分量,例如输入信号的各次谐波。
信号的平均功率就是随机信号的均方值。
2、实验要求
本实验要求。
实验二、基于FPGA 的2ASK 信号生成及测量分析(14)
1、实验原理
根据通信原理课上老师讲过的容,我们知道2ASK信号的功率谱由连续谱和离散谱两部分组成;连续谱取决于经线性调制后的双边带谱,而离散谱由载波分量确定。
2ASK信号的带宽是基带信号的2倍。
下面给出2ASK信号的实现框图
2.实验要求
要求设计出2ASK信号产生框图,并用quatus II 软件对设计的2ASK信号产生系统进行实现,观察2ASK信号的波形特征,最后利用FPGA的实验版进行程序的下载和实验,利用示波器观察信号时域波形、频域波形。
三.实验的设计思想与实现
实验一、随机信号的平稳特性分析
实现的流程图:
(1)信号与噪声的产生
输入信号123()sin sin sin x t t t t ωωω=++,其中:1ω、2ω、3ω为1KHz 、2KHz 、3KHz ,噪声用awgn 函数
x1=sin(1000*2*pi*t)+sin(2000*2*pi*t)+sin(3000*2*pi*t); x=awgn(x1,5,'measured'); %输入高斯白噪声 n=x-x1; %高斯白噪声 在matlab 中,均值E=mean(x)
如果X 是一个矩阵,则其均值是一个向量组。
mean(X,1)为列向量的均值,mean(X,2)为行向量的均值。
均方差:matlab 函数:var ,std (求矩阵均方差) 自相关函数:matlab 函数:R=xcorr(x)
频谱:对其进行傅里叶变换,得到频谱: xFFT= abs(FFT(x ,N)),N 为数据点数 功率谱:先进行其自相关函数的fft 变换,再取绝对值:abs(fft(xcorr(n),N))
图1高斯白噪声
由于高斯白噪声只在0点处有值,故自相关函数在0处峰
图2输入信号
可以看出信号在1KHZ,2KHZ,3KHZ频谱振幅大,功率谱大
遇到的问题:
因为对FFT概念不清楚,导致输出坐标与图像不匹配
解决:
N是FFT的分辨率,所以横坐标应与N保持一致,即横坐标为0:N-1。
2通过线性系统
利用butter函数生成带通过滤波器,并画出其幅频特性和相频特性。
butter函数是求Butterworth数字滤波器的系数,在求出系数后对信号进行滤波时用filter函数。
设计滤波器就是设计滤波器系数[B,A]。
[B,A] = BUTTER(N,Wn,'high') ---用来设计高通滤波器
[B,A] = BUTTER(N,Wn,'low') designs a lowpass filter.--低通滤波器
[B,A] = BUTTER(N,Wn)--带通滤波
在本题中:
[B,A]=butter(3,[1800/(Fs/2) 2200/(Fs/2)]); %一个3阶、通带为
1900-2100Hz的带通滤波器
调用freqz()的格式有以下两种:
(1)[H,w]=freqz(B,A,N)
(2)[H,w]=freqz(B,A,N,’whole’)
(1)中B和A分别为离散系统的系统函数分子、分母多项式的系数向量,返回量H则包含了离散系统频响在0~pi围N个频率等分点的值(其中N为正整数),w则包含了围N个频率等分点。
调用默认的N时,其值是512。
(2)中调用格式将计算离散系统在0~pi的N个频率等分店的频率响应的值。
直接运行出现图片:freqz(B,A,N)
图3带通滤波器特性
由于是仿真滤波器,实际不会有如此好的特性,有图3的下图可得过滤大概围:
0.4/2*9000(Fs)=1800HZ~~~0.5/2*9000=2250HZ,符合要求
信号加噪声通过带通滤波器滤除噪声和1kHz和3kHz分量,输出信号a 的时域、自相关函数、频谱和功率谱密度
a=filter(B,A,x); %信号通过带通滤波器后,滤出2kHz分量.得到信号a
图4滤出的信号a
对照输入信号x,2KHZ的频幅和功率谱相近,没有1KHZ和3KHZ分量,可见滤波器效果良好
实现平方律检波器的函数表达式:y=mx^2, matlab即:
b=x.^2;
b(b<0)=0;
通过频域变换得到H( ):
x_fft=fft(x,N);
b_fft=fft(b,N);
htb_fft=b_fft./x_fft;
信号通过平方律检波器的输出功率谱和频谱如图
图5平方律检波器特性经过平方律检波器信号b的特性
通过平方律检波器,信号b的频率增加了,频谱幅度也增加了。
信号a通过限幅后的信号y1,限定幅度最大为0.5,大于0.5后取0.5,最小小于-0.5取0.5。
y1=a;
y1(y1>0.5)=0.5;
y1(y1<-0.5)=-0.5
通过频域变换得到H( ):
y1_fft=fft(y1,N);
hty1_fft=y1_fft./x_fft;
图6限幅器特性信号y1的特性:
通过限幅器的y1与输入信号a相比,频幅与功率谱都有减少。
信号b通过带通滤波器后的信号y2:
与输入b相比,成功保留了2KHZ频率,2KHZ的频幅与功率谱均相近。
遇到的问题:
由于时间t选取短,导致波形还没完整就已经结束
解决:
将时间t增大。
实验二、基于FPGA的2ASK信号生成及测量分析(14)根据实验的容与要求,有以下两种实现的方法:
方法一、基于MATLAB产生2ASK信号,然后再将信号接入示波器中进行分析与调试。
方法二、基于QUARTUS II产生2ASK信号,通过引脚分配,将产生信号的代码下载到FPGA中,再通过示波器进行信号的分析。
我们在进行本实验的设计的时候进行了以下几个方面的考虑:
1、由于我们实验与随机信号挂钩,理论上说应该采用方法一,运用随机信号的知识再MATLAB上产生2ASK信号,再通过示波器进行相关的测试。
2、考虑实验的可行性与实验方案的简易性,可以在QUARTUS II平台上进行实验,由于此平台在数字电路基础实验中接触过,所以上手容易,可操作性强。
再加上实验室提供了现成的FPGA实验板,又可以结合其他课程如数字电路基础,CMOS等课程,是对我们学习理论知识的实际应用。
经过我们的考虑,我们组采用了在QUARTUS II平台上进行电路的搭建以及Verilog语言的编写来实现2ASK信号的产生及仿真。
设发生的信号为M序列,由二进制符号序列“0”“1”序列组成,发送“0”的概率为P,发送“1”的概率为1-P,且相互独立。
该二进制序列可以表示为:
s(t) = An*g(t-nTs)
其中An = 0 发送概率为P
An = 0 发送概率为1-P
Ts是二进制基带信号的时间间隔,g(t)是持续时间为Ts的矩形脉冲,其中
g(t) = 1 0≤t≤Ts
g(t) = 0 其他
则二进制振幅键控信号可以表示为:
e2ask(t) = s(t)*cosωt
波形图如下:
图一、理论2ASK信号时域波形
2ASK信号的功率谱密度推导:
设s(t)的功率谱密度为P s(f),2ASK信号的功率谱密度为P2ask(f)。
因为s(t)是单极性随机脉冲序列,即单极性不归零码,其功率谱密度为
此时2ASK信号的功率谱密度:
当P = 1/2时,同时又考虑到G(f)=T s*Sa(πf*T s)和G(0) = T s则2ASK信号的功率谱密度为:
功率谱密度示意图:
图二、2ASK信号的功率谱密度示意图
以下就是具体的设计思想
1、15位M序列发生器模块(具体电路见附录)
采用74175寄存器和各种数字电路搭建(4输入与门,2输入异或门,2输入或门以及一个D触发器)
遇到的问题:
由于该过程涉及到数字电路的知识,对于器件的功能与怎样使用感到陌生。
解决方法:
在已知使用什么器件搭建的基础上,我们查阅相关的书籍以结合以前所学的数字电路知识,很快的掌握了各个器件功能与使用方法,使问题得以解决。
2、正弦波(载波)的产生。
(电路见附录)
方法一、MATLAB上面直接调用相关函数可以直接产生正弦波,因为我们采用的是QUARTUS II,就没有对此方法进行深入研究。
方法二、运用QUARTUS II中的计数器(LPM_counter)与LPM_ROM结
合的方法产生载波。
具体方法如下:
硬件实现正弦波时,采用查表法。
时间轴用地址位表示,纵轴是数据位。
地址位bit数取决于采样点数值。
数据位的bit数取决于D/A的位数。
遇到的问题:
我们刚开始按照老师之前讲的采样8个值,因此计数器的地址位设置为3位,ROM 的地址值也设置为3位。
这样做出来的正弦波毛刺很多,有很多阶梯,与理想效果相差太多。
解决方法:
我们采用了N=256个采样点,采样频率设置为Fs=2560000Hz,
根据计算公式(假设采样8个点):
正弦波在0~2*π的周期,采样8个点,这样计算每个点对应的正弦值设为y,则
y = sin((2π/8)*N) 其中N = 0,1,2 (7)
因为ROM中不能放负值,需要加一个直流信号,把负值变为正值。
即把每个数值加上+1,然后将这些数值在乘上2^7-1=127,把这些数值全部取整数,存入ROM中。
但是考虑到我们采样的数值比较多,手算比较麻烦,经过资料收集,找到MifMaker 软件,直接采样出8位宽的256个数值,自动保存为mif文件,方便直接存入ROM中。
采用此方法的优点是节省了计算采样点的时间,自动生成可供ROM使用的mif文件,方便使用,采样点数的增多,使最后出来的波形更接近正弦波。
通过计算
f=Fs/N=10KHz,即为载波频率。
3、分频器的设计(程序见附录)
采用Verilog语言编写的一个偶分频程序。
分频数与载波的频率有关系。
遇到的问题:
代码的编写问题
由于当初数字电路中的Verilog硬件描述语言没有学习到位,现在使用起来很吃力分频数的确定
根据老师给的实验要求,我们组是进行14分频,但是这样仿真出来的2ASK图形十分的丑,尤其是载波的毛刺非常多。
解决方法:
代码编写问题
自己学习了基础的Verilog语言,加上最近学习的COMS集成电路课程也有讲硬件描述语言,加上网上的资料整理与理解,最终写出了偶分频程序
分频数的确定
在这个分频数的概念上我们的理解有误,导致整个实现的框图结构发生变化。
由于分频数与载波的频率相关,我们之前在做载波的时候改了采样点数,导致频率也发生了变化,所以按照老师给的14分频做出来的波形必然就会产生一定的误差。
在知道载波频率为10KHz的基础上,我们对分频数做出了相应的调整,选择了1024分频,这样
对应的M序列为“1”时有4个周期的载波信号与之对应,这样的波形就很漂亮了,毛刺较少。
框图见下图:
图一、老师提供的框图
图二、我们改进后的实现框图
这里我们采用的1024分频是利用14分频级联74分频,这样既满足了老师给的14分频,又实现了自己改进的1024分频,这样出来的2ASK信号有较美观的图形
4、开关函数
由基带信号来控制它的输出。
使用编程或QuartusⅡ中的lpm_latch器件实现。
当M序列输出为“1”时输出“载波,为“0”时输出“0“。
说明:
由于开关函数的使用的器件比较简单,其原理就是一个数据选择器。
5、最终电路(见附录)
运用QUARTUS II生成器件的功能把每个模块生成对应的器件,按照对
应的连接点连接电路。
遇到的问题:
对整个电路的编译出错
解决方法:
根据提示的错误,我们发现是生成的器件中缺少相应的文件,经过导入文件后再次编译就成功。
经过最后的波形调整,便得到了完整的2ASK 信号
6、引脚分配
根据实验室提供的FPGA实验板,选用的是Cyclone的EP1C20F324C8
系列。
根据FPGA的引脚图,简单的进行了引脚的分配。
生成“.sof”文
件,以便于最后下载到FPGA中。
遇到的问题:
不知道FPGA的引脚分布,对引脚的分布不知从何入手。
解决方法:
经过上网查阅了解到
器件部时钟为20MHz:对应的管脚为J3、J4,两个管脚分别对应于上升沿触发,下降沿触发。
采样频率:对应的管脚为A9
AD:对应的管脚为(从低到高)D5 A6 B6 C6 A7 D6 C7
B7 A8 D7 C8 B8
DA:对应的管脚为(从高到底)F2 G2 H3 H1 L3 M3 M2 L2 L4 H2 G1 G3
数字输入:对应的管脚为(在实验板上从1到8)U6 T7 V7 U7
U8 T8 T9 V8
数字输出:对应的管脚为(在实验板上从1到8)R6 T4 U5 V4
R5 R8 T6 V6
我们分配的是DA输出的前八个引脚。
7、下载到FPGA中,示波器测试。
此过程直接用QUARTUS II把生成的“.sof”文件下载到FPGA实验板中,后调试示波器,观察波形与仿真波形的差别,然后再用示波器的傅里叶变换功能求观察功率谱密度。
遇到的问题:
虽然成功的把引脚分配文件下载到实验板里,但是怎样调试都没有出现波形
解决方法:
经过我们的多次检查,发现是电路图中的一个使能信号(reset信号)没有分配引脚,在考虑该信号高电平有效的基础上,我们做出了一下调整,在保持原引脚配置文件不变的条件下,把reset信号直接换成了VCC高电平信号,这样就不用再去修改引脚分配文件。
这样之后再次下载到实验板上,通过调整示波器就能看到与仿真接近的图形。
具体图形见附录)
观察频谱密度的方法:
在示波器上找MATH按键,然后在屏幕上选择FFT变换,这样就能看见频谱密度了(具体图形见附录)
四.实验结论
实验一:
随机信号经过线性系统后,不会增加新的频率分量。
经过滤波器滤波后,可以从调制信号中得到特定频率围的信号,从而提取消息信号。
这是提取消息信号的有效方法。
随机信号经过非线性系统,不但含有基频,而且产生了谐波分量。
平方率检波的输出与输入载波电压幅度的平方成正比(即输入信号的功率),因而,在无线电测量仪表中得到较为广泛的应用。
实验二
通过示波器上的波形分析与理论波形对比,发现,仿真出来的时域波形(见附录)与理论的时域波形(见上图一)十分的接近,并没有多大的误差。
再看功率谱密度的分析,理论上的功率谱密度(见上图二)和实际上的功率谱密度(见附录)也十分的接近,只是示波器上显示的只有正向频率的部分,而理论上的是正向反向的频率部分都有,但是大体上是一致的。
结论:
五.参考文献
随机信号分析与应用(高等教育)Matlab7.x程序设计语言(西电)信号与现行系统分析(高等教育)
六.附件
实验二附件
M序列发生器电路图:
载波发生器:
整体电路图:
仿真波形图:
分频器代码:
module Fenpin(clk,rst,count,clk_odd); input clk,rst;
output clk_odd;
output[9:0] count;
reg clk_odd;
reg[9:0] count;
parameter N = 1024;
always (posedge clk)
if(! rst)
begin
count <= 1'b0;
clk_odd <= 1'b0;
end
else
if ( count < N/2-1)
begin
count <= count + 1'b1;
end
else
begin
count <= 1'b0;
clk_odd <= ~clk_odd;
end
endmodule
示波器上观察到的波形:
实验报告包括以下主要容:(1)摘要
(2)实验原理及要求
(3)实验方案设计及实现;
这一部分是重点,要求写出实验过程中出现的问题以及解决方法,并且每一个实验图必须要求有横纵坐标以及单位,图名,图标号,在正文部分必须要引出来,比如:图1给出了。
,结果显示。
也就是每个图后面必须要要有对应的说明和分析。
(4)实验结论及个人总结,总结实验的结论以及通过这次实验的收获。
(5)附件,不强制要求,如果觉得有必要的话,可以加上。
具体容根据实验题目以及个人情况来写。