matlab仿真实验指导书-附程序(4)

2018-11-17 20:33

Matlab与通信仿真 3.设非周期信号s?t????1,t?T/4?0,其他,求该信号的傅里叶变换,MATLAB画出傅里叶变换

后的频谱,并对频谱进行反变换,画出s?t?的波形。

程序:

close all

clear all % 删除所有工作空间的变量 tao=1; % 脉宽

tao_sample=512; % 为了画波形,在脉宽内的采样点数 %N_sample=30; % 为了画波形,在时间窗内的采样点数

dt=tao/ tao_sample; % 时间分辨率 add_zeros=1000;

t=(-tao/2-add_zeros*dt):dt:tao/2+(add_zeros-1)*dt; % 所有时间采样值 N_sample=length(t); % 为了画波形,在时间窗内的采样点数 T=t(end)-t(1); % 时间窗的大小

st=[zeros(1,add_zeros) ones(1,(N_sample-2*add_zeros)) zeros(1,add_zeros)]; % 依据T将信号离散化

subplot(411); % 设置3*1的1号窗 plot(t,st); % 在1号窗中画时间波形 axis([-1 1 0 2]); % 设置1号窗坐标轴的范围 xlabel('t');ylabel('s(t)'); % 标出横轴、纵轴变量 subplot(412) ; % 设置3*1的2号窗 [f,sf]=T2F(t,st) ; % 求st的FFT

plot(f,abs(sf)) ; % 在2窗中画st频谱sf波形的绝对值 axis([-10 10 0 2]); % 设置2号窗坐标轴的范围 xlabel('f');ylabel('|S(f)|'); % 标出横轴、纵轴变量 %sff=tao*sinc(f*tao) ; %例6信号谱

sff=tao*(sin(tao*pi*f)./(tao*pi*f)) ; %例6信号谱 subplot(413) ; % 设置3*1的2号窗

plot(f,abs(sff),'r') % 在2窗中画st频谱sf波形的绝对值,用红色 axis([-10 10 0 2]); % 设置2号窗坐标轴的范围 [tt,st]= F2T_3(f,sf); % 进行离散傅立叶反变换,求原始信号 subplot(414) ; % 设置3*1的3号窗 xlabel('t');ylabel('恢复的s(t)'); % 标出横轴、纵轴变量 plot(tt,st) ;hold off ; % 在3窗中画sf回复的st波形,关闭共画开关 axis([-1 1 0 2]); % 标出横轴、纵轴变量 结果:

14

Matlab与通信仿真 2s(t)10-12-0.8-0.6-0.4-0.20t0.20.40.60.81|S(f)|10-10210-10210-1-0.8-0.6-0.4-0.200.20.40.60.81-8-6-4-20246810-8-6-4-20f246810

实验三 随机信号与数字基带实验

一、实验目的

? 掌握库函数产生随机数方法 ? 基带信号波形生成和其功率谱密度 ? 理解采用蒙特卡罗算法仿真的思想

二、实验原理

(一).库函数产生随机数

① 均匀分布的随机数

利用MATLAB库函数rand产生。rand函数产生(0,1)内均匀分布的随机数,使用方法如下:

1)x=rand(m);产生一个m×m的矩阵,所含元素取值均为在(0,1)内均匀分布的随机数。

2)x=rand(m,n);产生一个m×n的矩阵,所含元素取值均为在(0,1)内均匀分布的随机数。

3)x=rand;产生一个随机数。

4)调用rand(1,N)给出均值为0.5,功率为1/12=0.083的白噪声。

25)调用rand(1,N)给出均值为0.5,功率为?n现在要均值为0,?1/12?0.83的白噪声,

15

Matlab与通信仿真 功率为0.01。 调整均值:用u(n)减上均值即可;调整功率:令希望的功率为P,则需要求出常数a,a?2P/?n?12P,用a乘u(n)。

② 高斯分布的随机数

randn函数产生均值为0,方差为1的高斯分布的随机数,使用方法如下:

1)x=randn(m);产生一个m×m的矩阵,所含元素都是均值为0,方差为1的高斯分布的随机数。

2)x=randn(m,n);产生一个m×n的矩阵,所含元素都是均值为0,方差为1的高斯分布的随机数。

3)x=randn;产生一个均值为0,方差为1的高斯分布的随机数。

4)调用randn,生成均值为0,方差为1,服从高斯分布的白噪声信号u(n)。调整均值:

用u(n)加上均值即可;调整功率:令希望的功率为P,则需要求出常数a,a?u(n)。

(二).基带信号波形生成和信号的功率谱密度

1).要画出完整的基带信号波形,每一个码元要采 n个样。 2)信号f(t)的功率谱密度为:P(?)?limP,用a乘

FT(?)T2T??。

(三).蒙特卡罗算法

蒙特卡罗估计是指通过随机实验估计系统参数值的过程。蒙特卡罗算法的基本思想:由概率论可知,随机实验中实验的结果是无法预测的,只能用统计的方法来描述。故需进行大量的随机实验,如果实验次数为N,以NA表示事件A发生的次数。若将A发生的概率近似为相对频率,定义为NAN。这样,在相对频率的意义下,事件A发生的概率可以通过重复无限多次随机实验来求得,即:P?A??NA limNN??

在二进制数字通信系统中,若N是发送端发送的总码元数,NA是差错发生的次数,则

总误码率可通过蒙特卡罗算法计算。

三、实验内容

1.产生随机数

利用rand函数产生5×4的(0,2)内均匀分布的随机数;

利用randn函数产生5×4的均值为0,方差为2的高斯分布的随机数。

2. 利用随机数产生单极性基带信号,每一个码元要采 8个样值,并画出其波形和功率谱密。 3.利用蒙特卡罗算法仿真二进制基带通信系统的误码率

假定通信系统满足以下条件:

① 信源输出的数据符号是相互独立和等概的双极性基带信号

16

Matlab与通信仿真 ② 发送端没有发送滤波器,接收端没有接收滤波器 ③ 信道是加性高斯白噪声信道

数字基带信号传输系统模型如图1所示:

发送滤波器噪声图1 数字基带信号传输系统模型

接收滤波器抽样判决器

限:Vd??0,误码率:

当P?1??P?0??12时

?E?1?r?11Pe?erfc??erfc,利用Q(x)????2???2??222???n??可得Q(x)???xe?t/2dt,erfc(x)?22???xe?tdt,

21xerfc(),故可用Q函数表示误码率Pe?Q(r)。抽样判决器输入信噪比:22?r1?E?n1,发12 抽样判决器输入信号为:? r?E2?n?r0??E?n0,发02?E为判决器输入有用信号电压,n1,n0为信道输入的均值为0,方差为?n高斯噪声。

通信系统的蒙特卡罗仿真模型如图2所示。编程实现二进制基带通信系统的误码率的蒙特卡罗仿真,并和理论误码率比较。

图2 通信系统的蒙特卡罗仿真模型

四、预习报告:(原理,流程图,编程思想,基本程序)

17

Matlab与通信仿真 18


matlab仿真实验指导书-附程序(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国上市公司融资偏好研究

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: