计算机仿真-Matlab通信系统链路级仿真

合集下载

MATLAB实现通信系统仿真实例

MATLAB实现通信系统仿真实例

补充内容:模拟调制系统的MATLAB 仿真1.抽样定理为了用实验的手段对连续信号分析,需要先对信号进行抽样(时间上的离散化),把连续数据转变为离散数据分析。

抽样(时间离散化)是模拟信号数字化的第一步。

Nyquist 抽样定律:要无失真地恢复出抽样前的信号,要求抽样频率要大于等于两倍基带信号带宽。

抽样定理建立了模拟信号和离散信号之间的关系,在Matlab 中对模拟信号的实验仿真都是通过先抽样,转变成离散信号,然后用该离散信号近似替代原来的模拟信号进行分析的。

【例1】用图形表示DSB 调制波形)4cos()2cos(t t y ππ= 及其包络线。

clf%%计算抽样时间间隔fh=1;%%调制信号带宽(Hz)fs=100*fh;%%一般选取的抽样频率要远大于基带信号频率,即抽样时间间隔要尽可能短。

ts=1/fs;%%根据抽样时间间隔进行抽样,并计算出信号和包络t=(0:ts:pi/2)';%抽样时间间隔要足够小,要满足抽样定理。

envelop=cos(2*pi*t);%%DSB 信号包络y=cos(2*pi*t).*cos(4*pi*t);%已调信号%画出已调信号包络线plot(t,envelop,'r:','LineWidth',3);hold onplot(t,-envelop,'r:','LineWidth',3);%画出已调信号波形plot(t,y,'b','LineWidth',3);axis([0,pi/2,-1,1])%hold off%xlabel('t');%写出图例【例2】用图形表示DSB 调制波形)6cos()2cos(t t y ππ= 及其包络线。

clf%%计算抽样时间间隔fh=1;%%调制信号带宽(Hz)fs=100*fh;%抽样时间间隔要足够小,要满足抽样定理。

基于matlab的通信系统仿真

基于matlab的通信系统仿真

创新实践报告报告题目:基于matlab的通信系统仿真学院名称:信息工程学院姓名:班级学号:指导老师:二O一四年十月十五日一、引言现代社会发展要求通信系统功能越来越强,性能越来越高,构成越来越复杂;另一方面,要求通信系统技术研究和产品开发缩短周期,降低成本,提高水平。

这样尖锐对立的两个方面的要求,只有通过使用强大的计算机辅助分析设计技术和工具才能实现。

在这种迫切的需求之下,MATLAB应运而生。

它使得通信系统仿真的设计和分析过程变得相对直观和便捷,由此也使得通信系统仿真技术得到了更快的发展。

通信系统仿真贯穿着通信系统工程设计的全过程,对通信系统的发展起着举足轻重的作用。

通信系统仿真具有广泛的适应性和极好的灵活性,有助于我们更好地研究通信系统性能。

通信系统仿真的基本步骤如下图所示:二、仿真分析与测试(1)随机信号的生成利用Matlab 中自带的函数randsrc 来产生0、1等概分布的随机信号。

源代码如下所示:global NN=300;global pp=0.5;source=randsrc(1,N,[1,0;p,1-p]);(2)信道编译码1、卷积码的原理卷积码(convolutional code)是由伊利亚斯(p.Elias)发明的一种非分组码。

在前向纠错系统中,卷积码在实际应用中的性能优于分组码,并且运算较简单。

卷积码在编码时将k 比特的信息段编成n 个比特的码组,监督码元不仅和当前的k 比特信息段有关,而且还同前面m=(N-1)个信息段有关。

通常将N 称为编码约束长度,将nN 称为编码约束长度。

一般来说,卷积码中k 和n 的值是比较小的整数。

将卷积码记作(n,k,N)。

卷积码的编码流程如下所示。

可以看出:输出的数据位V1,V2和寄存器D0,D1,D2,D3之间的关系。

根据模2加运算特点可以得知奇数个1模2运算后结果仍是1,偶数个1模2运算后结果是0。

2、译码原理卷积码译码方法主要有两类:代数译码和概率译码。

基于matlab的通信系统的仿真与实现

基于matlab的通信系统的仿真与实现
通信系统就是传递信息所需要的一切技术设备和传输媒质的总和,包括信息源、发送设备、信道、接收设备和信宿(受信者),它的一般模型如图1-1所示。

图1-1通信系统一般模型
通信系统可分为数字通信系统和模拟通信系统。数字通信系统是利用数字信号来传递消息的通信系统,其模型如图1-2所示,

图1-2 数字通信系统模型
随着通信系统复杂性的增加,传统的手工分析与电路板试验等分析设计方法已经不能适应发展的需要,通信系统计算机模拟仿真技术日益显示出其巨大的优越性.。计算机仿真是根据被研究的真实系统的模型,利用计算机进行实验研究的一种方法.它具有利用模型进行仿真的一系列优点,如费用低,易于进行真实系统难于实现的各种试验,以及易于实现完全相同条件下的重复试验等。Matlab仿真软件就是分析通信系统常用的工具之一。
1.4 通信技术发展现状和趋势
进入20世纪以来,随着晶体管、集成电路的出现与普及、无线通信迅速发展。特别是在20世纪后半叶,随着人造地球卫星的发射,大规模集成电路、电子计算机和光导纤维等现代技术成果的问世,通信技术在以下几个不同方向都取得了巨大的成功。
1.微波中继通信使长距离、大容量的通信成为了现实。
Matlab是一种交互式的、以矩阵为基础的软件开发环境,它用于科学和工程的计算与可视化。Matlab的编程功能简单,并且很容易扩展和创造新的命令与函数。应用Matlab可方便地解决复杂数值计算问题。Matlab具有强大的Simulink动态仿真环境,可以实现可视化建模和多工作环境间文件互用和数据交换。Simulink支持连续、离散及两者混合的线性和非线性系统,也支持多种采样速率的多速率系统;Simulink为用户提供了用方框图进行建模的图形接口,它与传统的仿真软件包用差分方程和微分方程建模相比,更直观、方便和灵活。用户可以在Matlab和Simulink两种环境下对自己的模型进行仿真、分析和修改。用于实现通信仿真的通信工具包(Communication toolbox,也叫Commlib,通信工具箱)是Matlab语言中的一个科学性工具包,提供通信领域中计算、研究模拟发展、系统设计和分析的功能,可以在Matlab环境下独立使用,也可以配合Simulink使用。另外,Matlab的图形界面功能GUI(Graphical User Interface)能为仿真系统生成一个人机交互界面,便于仿真系统的操作。因此,Matlab在通信系统仿真中得到了广泛应用,本文也选用该工具对数字调制系统进行仿真。

MATLAB2psk通信系统仿真报告

MATLAB2psk通信系统仿真报告

MATLAB2psk通信系统仿真报告自查报告。

标题,MATLAB 2psk通信系统仿真报告。

在本次仿真报告中,我使用MATLAB对2psk通信系统进行了仿真。

在进行仿真过程中,我遇到了一些困难和问题,现在进行自查和总结如下:
1. 仿真参数设置不准确,在设置仿真参数时,我没有仔细考虑信道的噪声和衰落情况,导致仿真结果与实际情况有一定偏差。

在以后的仿真中,我需要更加细致地设置参数,以确保仿真结果的准确性。

2. 代码实现不够高效,在编写仿真代码时,我发现自己的代码实现并不够高效,导致仿真时间过长。

在以后的工作中,我需要学习更多关于MATLAB的优化技巧,以提高代码的运行效率。

3. 结果分析不够深入,在对仿真结果进行分析时,我发现自己的分析并不够深入,没有充分挖掘出结果中的信息。

在以后的工作
中,我需要加强对仿真结果的分析能力,以更好地理解和解释结果。

综上所述,本次自查报告主要总结了在进行MATLAB 2psk通信
系统仿真过程中遇到的困难和问题,并提出了相应的改进措施。


以后的工作中,我将努力改进自己的工作方式,提高仿真的准确性
和效率,以更好地完成相关工作。

【通信系统仿真(MATLAB)】实验指导书YST

【通信系统仿真(MATLAB)】实验指导书YST

通信系统仿真〔MATLAB〕-----实验指导书邮电大学光电工程学院2015年3月目录实验一MATLAB语言概述1-MATLAB安装、根本入门... ... . (2)实验二MATLAB语言概述2-MATLAB的工作环境............ . . (3)实验三MATLAB语法根底1—变量和数组 (4)实验四MATLAB语法根底2—矩阵和关系、逻辑运算 (6)实验五MATLAB语法根底3- MATLAB绘图 (9)实验六MATLAB语法根底4--MATLAB程序设计 (16)实验七MATLAB在电子信息课程中的应用 (19)实验八MATLAB与数学建模 (37)实验九(补充) MATLAB图形用户界面〔GUI〕的设计..... ..... .. (49)提示:Matlab是练出来的,而不是看出来的!实验一MATLAB初步〔安装、根本入门〕一、实验目的1、熟悉MATLAB开发环境;2、在Demos的引导下初识MATLAB。

二、实验根本知识1、初识MATLAB环境2、掌握MATLAB的Demos的应用三、实验容学习使用MATLAB的Demos,在Demos的引导下完成:1、MATLAB的数值计算;2、MATLAB的符号计算;3、MATLAB的二维、三维及四维绘图、特殊图形的绘制,图形的标准、修饰;4、Simulink的使用初步:利用完成正弦图形的仿真。

四、答复以下问题1、与其他计算机语言相比拟,MATLAB语言突出的特点是什么?2、安装MATLAB时,在选择组件窗口中哪些局部必须勾选,没有勾选的局部以后如何补安装?3、什么是工具箱?典型的工具箱有哪些?4、MATLAB系统由那些局部组成?实验二MATLAB的工作环境一、实验目的1、熟悉MATLAB工作环境二、实验根本知识1、熟悉MATLAB环境:MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器文件和搜索路径浏览器。

2、掌握MATLAB常用命令:clc,clear,help,lookfor,who等命令三、实验容1、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye〔其它不会用的指令,依照此方法类推〕2、学习使用clc、clear,观察mand window、mand history和workspace等窗口的变化结果。

通信原理基于matlab的计算机仿真

通信原理基于matlab的计算机仿真

例1-1%周期信号(方波)的展开,fb_jinshi.mclose all;clear all;N=100; %取展开式的项数为2N+1项T=1;fs=1/T;N_sample=128; %为了画出波形,设置每个周期的采样点数dt = T/N_sample;t=0:dt:10*T-dt;n=-N:N;Fn = sinc(n/2).*exp(-j*n*pi/2);Fn(N+1)=0;ft = zeros(1,length(t));for m=-N:Nft = ft + Fn(m+N+1)*exp(j*2*pi*m*fs*t);endplot(t,ft)例 1-2利用FFT计算信号的频谱并与信号的真实频谱的抽样比较。

脚本文件T2F.m定义了函数T2F,计算信号的傅立叶变换。

function [f,sf]= T2F(t,st)%This is a function using the FFT function to calculate a signal's Fourier %Translation%Input is the time and the signal vectors,the length of time must greater %than 2%Output is the frequency and the signal spectrumdt = t(2)-t(1);T=t(end);df = 1/T;N = length(st);f=-N/2*df:df:N/2*df-df;sf = fft(st);sf = T/N*fftshift(sf);脚本文件F2T.m定义了函数F2T,计算信号的反傅立叶变换。

function [t st]=F2T(f,sf)%This function calculate the time signal using ifft function for the input %signal's spectrumdf = f(2)-f(1);Fmx = ( f(end)-f(1) +df);dt = 1/Fmx;N = length(sf);T = dt*N;%t=-T/2:dt:T/2-dt;t = 0:dt:T-dt;sff = fftshift(sf);st = Fmx*ifft(sff);另写脚本文件fb_spec.m如下:%方波的傅氏变换, fb_spec.mclear all;close all;T=1;N_sample = 128;dt=T/N_sample;t=0:dt:T-dt;st=[ones(1,N_sample/2), -ones(1,N_sample/2)]; %方波一个周期subplot(211);plot(t,st);axis([0 1 -2 2]);xlabel('t'); ylabel('s(t)');subplot(212);[f sf]=T2F(t,st); %方波频谱plot(f,abs(sf)); hold on;axis([-10 10 0 1]);xlabel('f');ylabel('|S(f)|');%根据傅氏变换计算得到的信号频谱相应位置的抽样值sff= T^2*j*pi*f*0.5.*exp(-j*2*pi*f*T).*sinc(f*T*0.5).*sinc(f*T*0.5);plot(f,abs(sff),'r-')例1-3%信号的能量计算或功率计算,sig_pow.mclear all;close all;dt = 0.01;t = 0:dt:5;s1 = exp(-5*t).*cos(20*pi*t);s2 = cos(20*pi*t);E1 = sum(s1.*s1)*dt; %s1(t)的信号能量P2 = sum(s2.*s2)*dt/(length(t)*dt); %s2(t)的信号功率s[f1 s1f]= T2F(t,s1);[f2 s2f]= T2F(t,s2);df = f1(2)-f1(1);E1_f = sum(abs(s1f).^2)*df; %s1(t)的能量,用频域方式计算df = f2(2)-f2(1);T = t(end);P2_f = sum(abs(s2f).^2)*df/T; %s2(t)的功率,用频域方式计算figure(1)subplot(211)plot(t,s1);xlabel('t'); ylabel('s1(t)');subplot(212)plot(t,s2)xlabel('t'); ylabel('s2(t)');例1-4%方波的傅氏变换,sig_band.mclear all;close all;T=1;N_sample = 128;dt=1/N_sample;t=0:dt:T-dt;st=[ones(1,N_sample/2) -ones(1,N_sample/2)];df=0.1/T;Fx = 1/dt;f=-Fx:df:Fx-df;%根据傅氏变换计算得到的信号频谱sff= T^2*j*pi*f*0.5.*exp(-j*2*pi*f*T).*sinc(f*T*0.5).*sinc(f*T*0.5);plot(f,abs(sff),'r-')axis([-10 10 0 1]);hold on;sf_max = max(abs(sff));line([f(1) f(end)],[sf_max sf_max]);line([f(1) f(end)],[sf_max/sqrt(2) sf_max/sqrt(2)]); %交点处为信号功率下降3dB处Bw_eq = sum(abs(sff).^2)*df/T/sf_max.^2; %信号的等效带宽例 1-5%带通信号经过带通系统的等效基带表示,sig_bandpass.mclear all;close all;dt = 0.01;t = 0:dt:5;s1 = exp(-t).*cos(20*pi*t); %输入信号[f1 s1f]= T2F(t,s1); %输入信号的频谱s1_lowpass = hilbert(s1).*exp(-j*2*pi*10*t); %输入信号的等效基带信号[f2 s2f]=T2F(t,s1_lowpass); %输入等效基带信号的频谱h2f = zeros(1,length(s2f));[a b]=find( abs(s1f)==max(abs(s1f)) ); %找到带通信号的中心频率h2f( 201-25:201+25 )= 1;h2f( 301-25:301+25) = 1;h2f = h2f.*exp(-j*2*pi*f2); %加入线性相位,[t1 h1] = F2T(f2,h2f); %带通系统的冲激响应h1_lowpass = hilbert(h1).*exp(-j*2*pi*10*t1); %等效基带系统的冲激响应figure(1)subplot(521);plot(t,s1);xlabel('t'); ylabel('s1(t)'); title('带通信号');subplot(523);plot(f1,abs(s1f));xlabel('f'); ylabel('|S1(f)|'); title('带通信号幅度谱');subplot(522)plot(t,real(s1_lowpass));xlabel('t');ylabel('Re[s_l(t)]');title('等效基带信号的实部');subplot(524)plot(f2,abs(s2f));xlabel('f');ylabel('|S_l(f)|');title('等效基带信号的幅度谱');%画带通系统及其等效基带的图subplot(525)plot(f2,abs(h2f));xlabel('f');ylabel('|H(f)|');title('带通系统的传输响应幅度谱'); subplot(527)plot(t1,h1);xlabel('t');ylabel('h(t)');title('带通系统的冲激响应');subplot(526)[f3 hlf]=T2F(t1,h1_lowpass);plot(f3,abs(hlf));xlabel('f');ylabel('|H_l(f)|');title('带通系统的等效基带幅度谱');subplot(528)plot(t1,h1_lowpass);xlabel('t');ylabel('h_l(t)');title('带通系统的等效基带冲激响应');%画出带通信号经过带通系统的响应及等效基带信号经过等效基带系统的响应tt = 0:dt:t1(end)+t(end);yt = conv(s1,h1);subplot(529)plot(tt,yt);xlabel('t');ylabel('y(t)');title('带通信号与带通系统响应的卷积')ytl = conv(s1_lowpass,h1_lowpass).*exp(j*2*pi*10*tt);subplot(5,2,10)plot(tt,real(yt));xlabel('t');ylabel('y_l(t)cos(20*pi*t');title('等效基带与等效基带系统响应的卷积×中心频率载波')例 1-6%例:窄带高斯过程,文件 zdpw.mclear all; close all;N0=1; %双边功率谱密度fc=10; %中心频率B=1; %带宽dt=0.01;T=100;t=0:dt:T-dt;%产生功率为N0*B的高斯白噪声P = N0*B;st = sqrt(P)*randn(1,length(t));%将上述白噪声经过窄带带通系统,[f,sf] = T2F(t,st); %高斯信号频谱figure(1)plot(f,abs(sf)); %高斯信号的幅频特性[tt gt]=bpf(f,sf,fc-B/2,fc+B/2); %高斯信号经过带通系统glt = hilbert(real(gt)); %窄带信号的解析信号,调用hilbert函数得到解析信号glt = glt.*exp(-j*2*pi*fc*tt);[ff,glf]=T2F( tt, glt );figure(2)plot(ff,abs(glf));xlabel('频率(Hz)'); ylabel('窄带高斯过程样本的幅频特性')figure(3)subplot(411);plot(tt,real(gt));title('窄带高斯过程样本')subplot(412)plot(tt,real(glt).*cos(2*pi*fc*tt)-imag(glt).*sin(2*pi*fc*tt))title('由等效基带重构的窄带高斯过程样本')subplot(413)plot(tt,real(glt));title('窄带高斯过程样本的同相分量')subplot(414)plot(tt,imag(glt));xlabel('时间t(秒)'); title('窄带高斯过程样本的正交分量')%求窄带高斯信号功率;注:由于样本的功率近似等于随机过程的功率,因此可能出现一些偏差P_gt=sum(real(gt).^2)/T;P_glt_real = sum(real(glt).^2)/T;P_glt_imag = sum(imag(glt).^2)/T;%验证窄带高斯过程的同相分量、正交分量的正交性a = real(glt)*(imag(glt))'/T;用到的子函数function [t,st]=bpf(f,sf,B1,B2)%This function filter an input at frequency domain by an ideal bandpass filter %Inputs:% f: frequency samples% sf: input data spectrum samples% B1: bandpass's lower frequency% B2: bandpass's higher frequency%Outputs:% t: frequency samples% st: output data's time samplesdf = f(2)-f(1);T = 1/df;hf = zeros(1,length(f));bf = [floor( B1/df ): floor( B2/df )] ;bf1 = floor( length(f)/2 ) + bf;bf2 = floor( length(f)/2 ) - bf;hf(bf1)=1/sqrt(2*(B2-B1));hf(bf2)=1/sqrt(2*(B2-B1));yf=hf.*sf.*exp(-j*2*pi*f*0.1*T);[t,st]=F2T(f,yf);例 1-7%显示模拟调制的波形及解调方法DSB,文件mdsb.m%信源close all;clear all;dt = 0.001; %时间采样间隔fm=1; %信源最高频率fc=10; %载波中心频率T=5; %信号时长t = 0:dt:T;mt = sqrt(2)*cos(2*pi*fm*t); %信源%N0 = 0.01; %白噪单边功率谱密度%DSB modulations_dsb = mt.*cos(2*pi*fc*t);B=2*fm;%noise = noise_nb(fc,B,N0,t);%s_dsb=s_dsb+noise;figure(1)subplot(311)plot(t,s_dsb);hold on; %画出DSB信号波形plot(t,mt,'r--'); %标示mt的波形title('DSB调制信号');xlabel('t');%DSB demodulationrt = s_dsb.*cos(2*pi*fc*t);rt = rt-mean(rt);[f,rf] = T2F(t,rt);[t,rt] = lpf(f,rf,2*fm);subplot(312)plot(t,rt); hold on;plot(t,mt/2,'r--');title('相干解调后的信号波形与输入信号的比较');xlabel('t')subplot(313)[f,sf]=T2F(t,s_dsb);psf = (abs(sf).^2)/T;plot(f,psf);axis([-2*fc 2*fc 0 max(psf)]);title('DSB信号功率谱');xlabel('f');function [t st]=lpf(f,sf,B)%This function filter an input data using a lowpass filter %Inputs: f: frequency samples% sf: input data spectrum samples% B: lowpass's bandwidth with a rectangle lowpass%Outputs: t: time samples% st: output data's time samplesdf = f(2)-f(1);T = 1/df;hf = zeros(1,length(f));bf = [-floor( B/df ): floor( B/df )] + floor( length(f)/2 ); hf(bf)=1;yf=hf.*sf;[t,st]=F2T(f,yf);st = real(st);例1-8%显示模拟调制的波形及解调方法AM,文件mam.m%信源close all;clear all;dt = 0.001; %时间采样间隔fm=1; %信源最高频率fc=10; %载波中心频率T=5; %信号时长t = 0:dt:T;mt = sqrt(2)*cos(2*pi*fm*t); %信源%N0 = 0.01; %白噪单边功率谱密度%AM modulationA=2;s_am = (A+mt).*cos(2*pi*fc*t);B = 2*fm; %带通滤波器带宽%noise = noise_nb(fc,B,N0,t); %窄带高斯噪声产生%s_am = s_am + noise;figure(1)subplot(311)plot(t,s_am);hold on; %画出AM信号波形plot(t,A+mt,'r--'); %标示AM的包络title('AM调制信号及其包络');xlabel('t');%AM demodulationrt = s_am.*cos(2*pi*fc*t); %相干解调rt = rt-mean(rt);[f,rf] = T2F(t,rt);[t,rt] = lpf(f,rf,2*fm); %低通滤波subplot(312)plot(t,rt); hold on;plot(t,mt/2,'r--');title('相干解调后的信号波形与输入信号的比较'); xlabel('t')subplot(313)[f,sf]=T2F(t,s_am);psf = (abs(sf).^2)/T;plot(f,psf);axis([-2*fc 2*fc 0 max(psf)]);title('AM信号功率谱');xlabel('f');例 1-9%显示模拟调制的波形及解调方法SSB,文件mssb.m%信源close all;clear all;dt = 0.001; %时间采样间隔fm=1; %信源最高频率fc=10; %载波中心频率T=5; %信号时长t = 0:dt:T;mt = sqrt(2)*cos(2*pi*fm*t); %信源%N0 = 0.01; %白噪单边功率谱密度%SSB modulations_ssb = real( hilbert(mt).*exp(j*2*pi*fc*t) );B=fm;%noise = noise_nb(fc,B,N0,t);%s_ssb=s_ssb+noise;figure(1)subplot(311)plot(t,s_ssb);hold on; %画出SSB信号波形plot(t,mt,'r--'); %标示mt的波形title('SSB调制信号');xlabel('t');%SSB demodulationrt = s_ssb.*cos(2*pi*fc*t);rt = rt-mean(rt);[f,rf] = T2F(t,rt);[t,rt] = lpf(f,rf,2*fm);subplot(312)plot(t,rt); hold on;plot(t,mt/2,'r--');title('相干解调后的信号波形与输入信号的比较');xlabel('t')subplot(313)[f,sf]=T2F(t,s_ssb);psf = (abs(sf).^2)/T;plot(f,psf);axis([-2*fc 2*fc 0 max(psf)]);title('SSB信号功率谱');xlabel('f');例 2-0%显示模拟调制的波形及解调方法VSB,文件mvsb.m%信源close all;clear all;dt = 0.001; %时间采样间隔fm=5; %信源最高频率fc=20; %载波中心频率T=5; %信号时长t = 0:dt:T;mt = sqrt(2)*( cos(2*pi*fm*t)+sin(2*pi*0.5*fm*t) ); %信源%VSB modulations_vsb = mt.*cos(2*pi*fc*t);B=1.2*fm;[f,sf] = T2F(t,s_vsb);[t,s_vsb] = vsbpf(f,sf,0.2*fm,1.2*fm,fc);figure(1)subplot(311)plot(t,s_vsb);hold on; %画出VSB信号波形plot(t,mt,'r--'); %标示mt的波形title('VSB调制信号');xlabel('t');%VSB demodulation[f,rf] = T2F(t,rt);[t,rt] = lpf(f,rf,2*fm);subplot(312)plot(t,rt); hold on;plot(t,mt/2,'r--');title('相干解调后的信号波形与输入信号的比较');xlabel('t')subplot(313)[f,sf]=T2F(t,s_vsb);psf = (abs(sf).^2)/T;plot(f,psf);axis([-2*fc 2*fc 0 max(psf)]);title('VSB信号功率谱');xlabel('f');function [t,st]=vsbpf(f,sf,B1,B2,fc)%This function filter an input by an residual bandpass filter %Inputs: f: frequency samples% sf: input data spectrum samples% B1: residual bandwidth% B2: highest freq of the basedband signal%Outputs: t: frequency samples% st: output data's time samplesdf = f(2)-f(1);T = 1/df;hf = zeros(1,length(f));bf1 = [floor( (fc-B1)/df ): floor( (fc+B1)/df )] ;bf2 = [floor( (fc+B1)/df )+1: floor( (fc+B2)/df )];f1 = bf1 + floor( length(f)/2 ) ;f2 = bf2 + floor( length(f)/2 ) ;stepf = 1/length(f1);hf(f1)=0:stepf:1-stepf;hf(f2)=1;f3 = -bf1 + floor( length(f)/2 ) ;f4 = -bf2 + floor( length(f)/2) ;hf(f3)=0:stepf:(1-stepf);hf(f4)=1;yf=hf.*sf;[t,st]=F2T(f,yf);st = real(st);例 2-1%显示模拟调制的波形及解调方法AM、DSB、SSB,%信源close all;clear all;dt = 0.001;fm=1;fc=10;t = 0:dt:5;N0 = 0.1;%AM modulationA=2;s_am = (A+mt).*cos(2*pi*fc*t);B = 2*fm;noise = noise_nb(fc,B,N0,t); s_am = s_am + noise;figure(1)subplot(321)plot(t,s_am);hold on;plot(t,A+mt,'r--');%AM demodulationrt = s_am.*cos(2*pi*fc*t);rt = rt-mean(rt);[f,rf] = T2F(t,rt);。

基于matlab的数字通信系统仿真

基于matlab的数字通信系统仿真

基于matlab的数字通信系统仿真【摘要】用matlab随机产生单极性和双极性数字基带信号,对单极性信号进行PSK载波相位调制,仿真信号在信道中传输,加入信噪比可变的高斯白噪声,然后在接收端对传输信号进行解调,设定判决电平恢复原始信号,计算误码率。

做出BER-SNR曲线,并且实现单极性和双极性误码率的比较。

1引言1.1数字通信系统传输模型通信系统是传递信息所需的一切技术设备的总和,包括信息源、发送设各、传输介质、信息接收者和接收设备。

“数字通信”是指用数字信号作为载体来传输信息,或者用数字信号对载波进行数字调制后再传输的通信方式。

下图给出一个典型的数字通信系统传输模型。

发送设备噪声接收设备信息源中,离散信息源输出的是离散的符号序列或文字。

或者通过采样和量化把模拟信息转换成为的离散信息。

发送设备的基本功能是使不同种类和速率的信息源与传输媒介相匹配,通常是将信息源产生的信息经过编码,并变换为便于传送的信号形式,送往传输介质。

编码包括信源编码与信道编码两部分。

信源编码把连续消息变换为数字信号,信道编码则使数字信号与传输介质匹配,提高传输的可靠性和有效性。

调制是多种变换方式中最常见的一种。

信道是发送设备到接收设备之间信号传递所经过的媒介。

传输过程中必然会引入热噪声、衰减、脉冲等干扰。

介质的固有特性和干扰特性直接关系到编码方式的选取。

接收设备的基本功能是完成对发送的反变换(解调、译码、解密等),从带有干扰的信号中恢复出正确的原始信息。

1.2数字通信系统的优点数字通信系统的优点有[1]:第一,由于数字信号的可能取值数目有限,所以在失真没有超过给定值的条件下,不影响接收端的正确判决。

第二,抗干扰能力强。

模拟信号在传输过程中和叠加的噪声很难分离,噪声会随着信号被传输、放大、严重影响通信质量。

数字通信中的信息是包含在脉冲的,只要噪声绝对值不超过某一门限值,接收端便可判别脉冲的有无,以保证通信的可靠性。

第三,数字通信系统中,可以采用保密性极高的数字加密技术,从而大大提高系统的保密度。

MATLAB通信仿真要点

MATLAB通信仿真要点

MATLAB通信仿真要点1.通信系统模型建立:在MATLAB中建立通信系统模型是仿真的第一步。

这包括定义传输信道、接收信号处理和误码纠正等各个组成部分。

您可以使用MATLAB提供的信号处理工具箱来实现这些功能。

此外,MATLAB还提供了信号处理函数和工具,可以帮助您构建系统的模型。

2.信道建模:通信系统中的信道是模型中的一个关键组成部分。

信道的特性和行为对系统的性能有重要影响。

在MATLAB中,您可以使用函数和工具箱来模拟各种类型的信道,包括加性高斯白噪声信道(AWGN)、多径衰落信道等。

MATLAB还提供了信道估计和等化方法,可以帮助您处理复杂的信道环境。

3.信号生成和调制:在通信系统仿真中,生成和调制信号是非常重要的步骤。

MATLAB提供了各种工具箱和函数,可以帮助您生成各种类型的信号,包括连续时间信号和离散时间信号。

您可以使用这些工具来调制和解调信号,包括频率调制、相位调制和振幅调制等。

4.物理介质建模:通信系统通常会使用特定的物理介质来传输信号。

在MATLAB中,您可以使用建模工具箱来模拟各种物理介质的特性,包括传输线、射频电路和光纤等。

这些工具可以帮助您更准确地模拟和分析系统的性能。

5.误码纠正和解码:在通信系统中,误码纠正和解码是非常重要的步骤。

MATLAB提供了各种编码和解码算法,包括前向纠错编码(FEC)和纠正编码(ECC)等。

您可以使用MATLAB的编码和解码函数来实现这些功能,并评估系统的误码性能。

6.系统性能评估:在完成通信系统的建模和仿真后,评估系统的性能是非常重要的。

MATLAB提供了各种性能评估工具和函数,包括误码率(BER)、信噪比(SNR)和频谱效率等。

您可以使用这些工具来分析和优化系统的性能,并进行仿真实验。

7.仿真结果可视化:MATLAB提供了丰富的数据可视化工具,可以帮助您对仿真结果进行可视化分析。

您可以使用MATLAB的绘图函数和工具箱来绘制信号波形、频谱图和误码率曲线等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

BUPT Information Theory & Technology Education & Research Center
• 带通信号的基带等效 • 最佳接收机
8
BUPT Information Theory & Technology Education & Research Center
带通信号的基带等效表示
20
常用统计信号处理函数
BUPT Information Theory & Technology Education & Research Center
• xcov与其类似
21
BUPT Information Theory & Technology Education & Research Center
Matlab中的通信系统仿真资源
• 主要资源:
– 信号处理工具箱(Signal Processing Toolbox) – 通信工具箱(Communications Toolbox)
• 配套资源:
– 滤波器设计工具箱(Filter Design Toolbox) – 定点工具箱(Fixed-Point Toolbox) – 统计工具箱(Statistics Toolbox)
16
BUPT Information Theory & Technology Education & Research Center
信号处理工具箱
• 命令行形式的函数包括:
– – – – – – – – – 离散时间滤波器设计、分析与实现 模拟滤波器设计分析与实现 线性系统变换 窗函数 谱分析 统计信号处理 线性预测 多速率信号处理 波形产生
6
BUPT Information Theory & Technology Education & Research Center
主要内容
• 数字通信系统的组成 • 通信系统链路级仿真的一般性假设前提 • Matlab中的通信系统仿真资源
– 信号处理工具箱及常用信号处理函数 – 通信工具箱
7
通信系统链路级仿真的一般假设前提
19
BUPT Information Theory & Technology Education & Research Center
常用统计信号处理函数
• 默认情况下,执行计算:
• 可以指定归一化选项‘biased’ ‘unbiased’或 ‘coeff’ ,如果选‘biased’,则 • 如果选’ ‘unbiased’, • 如果选‘coeff’,是将R(0) 归一
更为一般的通信链路模型示意图
5
BUPT Information Theory & Technology Education & Research Center
一般数字通信系统的组成
• • • • • • 信号源 信息源 信源编码和解码 信道编码和解码 射频调制与解调 振荡器、混频器、变 频器和功率放大器 • 滤波和自适应均衡 • 信道 • 多路复用以及多址接 入 • 噪声和干扰源 • 同步:包括载波同步 、扩频码同步、符号 同步、数据帧同步等 等
Matlab中的通信系统仿真资源
• Matlab和Simulink都针对通信系统的物理 层(链路级)仿真提供了专门的工具箱 和模块库。 • 传统数字通信系统常用的各种信息处理 、信号处理算法都有相应的函数与之对 应。 • 近年来新出现的一些技术推动工具箱不 断更新。
14
BUPT Information Theory & Technology Education & Research Center
18
BUPT Information Theory & Technology Education & Research Center
常用统计信号处理函数
• xcorr和xcov
– 分别用于计算互相关函数和互协方差函数 – 自相关函数和自协方差函数作为特例处理。
• 本来应该计算
• 但是只能估计。 • c = xcorr(x,y) 返回长度为2*N-1的向量。 如果x和y不一样长,将短的补零
27
BUPT Information Theory & Technology Education & Research Center
24
BUPT Information Theory & Technology Education & Research Center
常用变换函数
• fft函数当输入参数个数为1,且为一个向量时 ,执行该向量的DFT计算 • 当输入参数为一个矩阵时,计算每列的DFT。
• • • • • • • • • t = (0:1/100:10-1/100); x = sin(2*pi*15*t) + sin(2*pi*40*t); y = fft(x); % Compute DFT of x m = abs(y); p = unwrap(angle(y)); f = (0:length(y)-1)*99/length(y); % Frequency vector plot(f,m); title('Magnitude'); set(gca,'XTick',[15 40 60 85]); figure; plot(f,p*180/pi); title('Phase'); set(gca,'XTick',[15 40 60 85]);
通信系统基本模型
3
BUPT Information Theory & Technology Education & Research Center
点到点数字通信系统基本模型
4
BUPT Information Theory & Technology Education & Research Center
z ( t ) f L ( t )e a ( t )e
j c t j c t ( t )
a ( t ) cos c t ( t ) j sin c t ( t )
jc t f ( t ) Re z ( t ) Re f ( t ) e L
• GUI工具
– 滤波器设计与分析 – 窗设计与分析 – 信号绘图等
17
BUPT Information Theory & Technology Education & Research Center
常用波形产生函数
• • • • • sawtooth:锯齿波 square:方波 gauspuபைடு நூலகம்s:高斯调制正弦脉冲 chirp:线性调频信号 sinc:抽样函数
26
BUPT Information Theory & Technology Education & Research Center
常用变换函数
• ifft函数的使用方法与fft非常类似。 • 注意fft和ifft函数对于输出功率的影响。 • fft函数之后总功率为fft之前的N倍,ifft之 后总功率则减小到原来的1/N。
15
BUPT Information Theory & Technology Education & Research Center
信号处理工具箱
• 支持各种信号处理操作,包括波形产生 、滤波器设计与实现、卷积、常用的变 换和谱分析等。 • 分为两类工具,一类是命令行形式的函 数,另一种是GUI形式的 集成工具。
23
BUPT Information Theory & Technology Education & Research Center
常用变换函数
• DFT变换:fft、fftshift、fftw、ifft • FFT是数字信号处理的基础 • 但是这些函数属于Matlab本身,不属于 SP Toolbox。
11
BUPT Information Theory & Technology Education & Research Center
仿真与实现的关系
• 浮点仿真与基带处理实现之间的区别仅 仅在于对数的表示方式不同。 • 定点仿真则完全在计算机上模拟实际实 现时在DSP、FPGA、ASIC上的处理。 • 定点仿真通常作为实际实现之前的验证 和测试向量产生手段。
仿真与实现的关系
• 通信系统链路级仿真与实际发射机与接 收机实现之间的关系非常密切。 • 大部分关于发射机和接收机的仿真模型 实际上就是其基带处理模型。 • 可以认为发射机和接收机的基带处理包 含两类操作:
– 信息处理:信源编解码、加解密、信道编解 码 – 信号处理:采样、滤波、调制、估计、检测 、均衡等。
12
BUPT Information Theory & Technology Education & Research Center
主要内容
• 数字通信系统的组成 • 通信系统链路级仿真的一般性假设前提 • Matlab中的通信系统仿真资源
– 信号处理工具箱及常用信号处理函数 – 通信工具箱
13
BUPT Information Theory & Technology Education & Research Center
最佳接收机
• 假设为最佳接收机与噪声方差的计算密 切相关。 • 二进制反极性基带通信系统仿真的例子 。 • 带通信号基带等效后得到相同结果。 • 如BPSK信号的仿真程序和二进制反极性 基带通信系统仿真程序完全相同。 • 如果引入频偏、时偏或相偏则仿真模型 会有所区别。
相关文档
最新文档