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;%抽样时间间隔要足够小,要满足抽样定理。
ts=1/fs;%%根据抽样时间间隔进行抽样t=(0:ts:pi/2);envelop=cos(2*pi*t);%%DSB 信号包络y=cos(2*pi*t).*cos(6*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]);注意观察:过零点“反相”现象。
2.信号的频谱和功率)()(f F t f −−−→←傅立叶变换【例3】画出DSB 信号的频谱并计算已调信号的功率。
)10cos()2cos(t t y ππ=clf%%计算抽样时间间隔fh=1;%%调制信号带宽(Hz)fs=20*fh;ts=1/fs;%%根据抽样时间间隔进行抽样t=(0:ts:2*pi);%抽样时间间隔要足够小,要满足抽样定理。
y=cos(2*pi*t).*cos(10*pi*t);%已调信号%计算已调信号的傅立叶变化n=2^nextpow2(length(t));%傅立叶变换的序列长度spectrum=fft(y,n);df=fs/n;%频率分辨率f=[0:df:df*(length(spectrum)-1)]-fs/2;%FFT 频率向量%计算信号功率p=(norm(y)^2)/length(y)%画出已调信号频谱plot(f,fftshift(abs(spectrum)),'b','LineWidth',3);xlabel('frequency/Hz');title('Magnitude-spectrum of y');p =0.25203.AWGN 的产生及功率谱密度已知AWGN 信道中噪声的比特信噪比为10dB ,信号功率0.25W ,求噪声功率并画出噪声的时域波形。
clf %%计算抽样时间间隔fh=1;%%调制信号带宽(Hz)fs=40*fh;ts=1/fs;t=(0:ts:2*pi);%根据抽样间隔生成抽样时间%生成AWGN 噪声序列snr=10;%信噪比10dB snr_lin=10^(snr/10);%分贝信噪比转换为线性信噪比noise_power=p_DSB/snr_lin noise_std=sqrt(noise_power);noise=randn(1,length(y))*noise_std;plot(t,noise,'LineWidth',2) noise_power =4.DSB 调制解调【例4】画出基带信号和DSB 信号的频谱并计算基带信号和)2cos()(t t m π=)10cos()2cos(t t y ππ=已调信号的功功率。
clf%%计算抽样时间间隔fh=1;%%调制信号带宽(Hz)fs=40*fh;ts=1/fs;%%根据抽样时间间隔进行抽样t=(0:ts:pi);%抽样时间间隔要足够小,要满足抽样定理。
m=cos(2*pi*t);%基带信号y=m.*cos(10*pi*t);%已调信号%计算基带信号的傅立叶变换n=2^nextpow2(length(t));%傅立叶变换的序列长度spectrum_baseband=fft(m,n);df=fs/n;%频率分辨率f=[0:df:df*(length(spectrum_baseband)-1)]-fs/2;%FFT频率向量%计算已调信号的频谱n=2^nextpow2(length(t));%傅立叶变换的序列长度spectrum_DSB=fft(y,n);df=fs/n;%频率分辨率f=[0:df:df*(length(spectrum_DSB)-1)]-fs/2;%FFT频率向量%计算信号功率p_baseband=(norm(m)^2)/length(m)p_DSB=(norm(y)^2)/length(y)%画出已调信号频谱subplot(2,1,1);plot(f,fftshift(abs(spectrum_baseband)),'b','LineWidth',3); xlabel('frequency/Hz');title('Magnitude-spectrum of baseband'); subplot(2,1,2);plot(f,fftshift(abs(spectrum_DSB)),'b','LineWidth',3);xlabel('frequency/Hz');title('Magnitude-spectrum of DSB');p_baseband =0.5145p_DSB =clfsnr=10;%信噪比10dBsnr_lin=10^(snr/10);%分贝信噪比转换为线性信噪比noise_power=p_DSB/snr_lin;noise_std=sqrt(noise_power);noise=randn(1,length(y))*noise_std;signal_in_channel=y+noise;subplot(2,1,1);plot(t,signal_in_channel,'b')xlabel('t');ylabel('DSB signal plus noise');axis([0,pi,-1,1]); subplot(2,1,2);plot(t,y,'r');xlabel('t');ylabel('DSB signal');5.AM 调制解调【例4】画出基带信号和AM 信号以及载波)2cos()(t t m π=)10cos()1)2(cos(t t y ππ+=的频谱并计算基带信号和已调信号的功率。
并比较该AM 信号与例题3中的DSB 信号的)10cos()(t t s π=时域波形。
clf%%计算抽样时间间隔fh=1;%%调制信号带宽(Hz)fs=20*fh;ts=1/fs;%%根据抽样时间间隔进行抽样t=(0:ts:pi);%抽样时间间隔要足够小,要满足抽样定理。
m=cos(2*pi*t);c=cos(10*pi*t);y=(1+m).*c;%已调信号%计算基带信号的傅立叶变换n=2^nextpow2(length(t));%傅立叶变换的序列长度spectrum_baseband=fft(m,n);df=fs/n;%频率分辨率f=[0:df:df*(length(spectrum_baseband)-1)]-fs/2;%FFT 频率向量%计算载波功率n=2^nextpow2(length(t));%傅立叶变换的序列长度spectrum_carrier=fft(c,n);df=fs/n;%频率分辨率f=[0:df:df*(length(spectrum_baseband)-1)]-fs/2;%FFT 频率向量%计算已调信号的频谱n=2^nextpow2(length(t));%傅立叶变换的序列长度spectrum_AM=fft(y,n);df=fs/n;%频率分辨率f=[0:df:df*(length(spectrum_AM)-1)]-fs/2;%FFT 频率向量%计算信号功率p_baseband=(norm(m)^2)/length(m)p_AM=(norm(y)^2)/length(y)p_carrier=(norm(c)^2)/length(c)%画出已调信号频谱subplot(3,1,1);plot(f,fftshift(abs(spectrum_baseband)),'b','LineWidth',3);xlabel('frequency/Hz');title('Magnitude-spectrum of baseband');subplot(3,1,2);plot(f,fftshift(abs(spectrum_AM)),'b','LineWidth',3);xlabel('frequency/Hz');title('Magnitude-spectrum of AM');subplot(3,1,3);plot(f,fftshift(abs(spectrum_carrier)),'b','LineWidth',3);xlabel('frequency/Hz');title('Magnitude-spectrum of carrier'); p_baseband =0.5168p_AM =0.8297p_carrier =clfDSB=m.*c;%DSB 信号envelop_DSB=m;%包络envelop_AM=1+m;subplot(2,1,1);plot(t,DSB,'b')hold onplot(t,envelop_DSB,'r:');plot(t,-envelop_DSB,'r:');hold offxlabel('t');ylabel('DSB signal');subplot(2,1,2);plot(t,y,'b');hold on;plot(t,envelop_AM,'r:');plot(t,-envelop_AM,'r:');hold offxlabel('t');ylabel('AM signal');。
matlab通信系统仿真
通信系统基于(15,11)汉明编码的matlab仿真clearm=4;n=2^m-1;k=11;msg1=randint(1,6000*k,[0,1])%产生信息序列code0=vec2mat(msg1,k);code1=encode(msg1,n,k,'hamming/binary');%进行汉明纠错编码code2=reshape(code1,90,1000)';code3=zeros(1000,90);%设置零矩阵,以便储存交织后的序列for i=1:1000temp=code2(i,:);temp1=reshape(temp,15,6);%按15*6交织code3(i,:)=reshape(temp1',1,90);end[row,cloums]=size(code3);code4=code3';[row1,cloums1]=size(code4);code5=reshape(code4,6,15000)'; %将交织后的序列转换为6行,15000列矩阵msg2=zeros(15000,6);for j=2:6,msg2(:,j)=xor(code5(:,j),code5(:,(j-1)));endmsg2(:,1)=code5(:,1);%此时得到的msg2为gray映射后的信号序列code8=msg2';%转置,便于比特符号转换A=[32,16,8,4,2,1]; %为比特符合转换所设的序列msg3=A*code8;%生成符号序列msg4=qammod(msg3,64);%将符号序列进行64QAM调制[row2,cloums2]=size(msg4);dB=0:1:20;for k=1:length(dB),snr=10.^(dB(k)./10); %信噪比sgma=sqrt(63./(6*snr));%标准差b1=real(msg4)+sgma*randn(row2,cloums2);%分路叠加噪声b2=imag(msg4)+sgma*randn(row2,cloums2);%分路叠加噪声rx=complex(b1,b2);%————————量化判决——————————%for m=1:row2,for n=1:cloums2,if ((b1(m,n)<-6))b11(m,n)=-7;elseif ((b1(m,n)>=-6)&(b1(m,n)<-4))b11(m,n)=-5;elseif ((b1(m,n)>=-4)&(b1(m,n)<-2))b11(m,n)=-3;elseif ((b1(m,n)>=-2)&(b1(m,n)<0))b11(m,n)=-1;elseif ((b1(m,n)>=0)&(b1(m,n)<2))b11(m,n)=1;elseif ((b1(m,n)>=2)&(b1(m,n)<4))b11(m,n)=3;elseif ((b1(m,n)>=4)&(b1(m,n)<6))b11(m,n)=5;elseif ((b1(m,n)>=6))b11(m,n)=7;endif ((b2(m,n)<-6))b22(m,n)=-7;elseif ((b2(m,n)>=-6)&(b2(m,n)<-4))b22(m,n)=-5;elseif ((b2(m,n)>=-4)&(b2(m,n)<-2))b22(m,n)=-3;elseif ((b2(m,n)>=-2)&(b2(m,n)<0))b22(m,n)=-1;elseif ((b2(m,n)>=0)&(b2(m,n)<2))b22(m,n)=1;elseif ((b2(m,n)>=2)&(b2(m,n)<4))b22(m,n)=3;elseif ((b2(m,n)>=4)&(b2(m,n)<6))b22(m,n)=5;elseif ((b2(m,n)>=6))b22(m,n)=7;endendend%————————量化判决——————————% rx1=complex(b11,b22);msg5=qamdemod(rx1,64);%qam解调code8=msg5';msg6=zeros(15000,6);msg6=de2bi(code8,6,'left-msb');[row8,cloums8]=size(msg6);code9=zeros(15000,6);code9(:,1)=msg6(:,1);for j=2:6code9(:,j)=xor(msg6(:,j),code9(:,(j-1)));%解格雷码end[row9,cloums9]=size(code9);code10=reshape(code9',90,1000)';code11=zeros(1000,90);for i=1:1000temp2=code10(i,:);temp3=reshape(temp2,6,15);code11(i,:)=reshape(temp3',1,90); %解交织endcode12=reshape(code11',15,6000)';[row12,cloums12]=size(code12);code13=decode(code12,15,11,'hamming/fmt,prim_poly');%解汉明码[num,ratio]=biterr(code0,code13); %计算点的误差数量和误码率pe(k )=ratioendsemilogy(dB,pe,'*');xlabel('dB');ylabel('biterror rate');legend('仿真误码率/有信道编码');。
matlab 通信仿真案例
matlab 通信仿真案例
在MATLAB中,通信仿真是一个常见的应用领域,可以用于模拟
和分析数字通信系统的性能。
下面我将从多个角度介绍几个常见的
通信仿真案例。
1. OFDM系统仿真,OFDM(正交频分复用)是一种常见的多载
波调制技术,用于高速数据传输。
你可以使用MATLAB来建立一个基
本的OFDM系统仿真模型,包括信道估计、均衡和解调等模块。
通过
仿真可以分析系统在不同信噪比下的误码率性能,优化系统参数以
及算法设计。
2. 无线通信系统仿真,你可以使用MATLAB建立一个简单的无
线通信系统仿真模型,包括传输信道建模、调制解调、信道编码、
多天线技术等。
通过仿真可以评估系统的覆盖范围、传输速率、抗
干扰能力等性能指标。
3. MIMO系统仿真,MIMO(多输入多输出)技术在无线通信中
得到了广泛应用。
你可以使用MATLAB建立一个MIMO系统仿真模型,包括空间多路复用、信道估计、预编码等。
通过仿真可以分析系统
的信道容量、波束赋形技术对系统性能的影响等。
4. LTE系统仿真,LTE(长期演进)是目前移动通信领域的主流技术之一。
你可以使用MATLAB建立一个LTE系统仿真模型,包括物理层信号处理、上下行链路传输、信道编码解码等。
通过仿真可以评估系统的覆盖范围、传输速率、干扰抑制能力等性能指标。
以上是一些常见的通信仿真案例,通过MATLAB你可以方便地建立仿真模型,分析系统性能,并优化系统设计。
希望这些案例能够帮助到你。
matlab通信仿真实例
matlab通信仿真实例通信仿真在工程领域中具有广泛的应用,MATLAB作为一种强大的数学建模工具,能够帮助工程师进行通信系统的仿真设计和分析。
在本文中,我们将通过一个具体的MATLAB通信仿真实例来展示如何使用MATLAB进行通信系统的建模和仿真。
首先,我们需要定义一个简单的通信系统,假设我们要设计一个基于QPSK调制的数字通信系统。
我们可以按照以下步骤进行仿真实例的设计:1. 生成随机比特序列:首先我们需要生成一组随机的比特序列作为发送端的输入。
我们可以使用MATLAB的randi函数来生成随机的二进制比特序列。
2. QPSK调制:接下来,我们需要将生成的二进制比特序列进行QPSK调制,将比特序列映射到QPSK星座图上的相应点。
我们可以使用MATLAB的qammod 函数来进行QPSK调制。
3. 添加高斯噪声:在通信信道中,往往会存在各种噪声的干扰,为了模拟通信信道的实际情况,我们需要在信号上添加高斯噪声。
我们可以使用MATLAB的awgn函数来添加高斯噪声。
4. QPSK解调:接收端接收到信号后,需要进行QPSK解调,将接收到的信号映射回比特序列。
我们可以使用MATLAB的qamdemod函数来进行QPSK解调。
5. 比特误码率计算:最后,我们可以计算仿真的比特误码率(BER),用来评估通信系统的性能。
我们可以通过比较发送端和接收端的比特序列来计算比特误码率。
通过以上步骤,我们就可以完成一个基于QPSK调制的数字通信系统的MATLAB仿真实例。
在实际的通信系统设计中,我们可以根据具体的需求和系统参数进行更加复杂的仿真设计,例如考虑信道编码、信道估计等因素,以更加准确地评估通信系统的性能。
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的通信系统的仿真报告参考例文
摘要Simulink是Mathworks公司推出的基于Matlab平台的著名仿真环境Simulin作为一种专业和功能强大且操作简单的仿真工具,目前已被越来越多的工程技术人员所青睐,它搭建积木式的建模仿真方式既简单又直观,而且已经在各个领域得到了广泛的应用。
本文主要是以simulink为基础平台,对2ASK、2FSK、2PSK信号的仿真。
文章第一章内容是对simulink的简单介绍和通信技术的目前发展和未来展望;第二章是对2ASK、2FSK和2PSK信号调制及解调原理的详细说明;第三章是本文的主体也是这个课题所要表现的主要内容,第三章是2ASK、2FSK和2PSK信号的仿真部分,调制和解调都是simulink建模的的方法,在解调部分各信号都是采用相干解调的方法,而且在解调的过程中都对整个系统的误码率在display模块中有所显示本文的主要目的是对simulink的熟悉和对数字通信理论的更加深化和理解。
关键词:2ASK、2FSK、2PSK,simulink,调制,相干解调目录第一章绪论 (31)1.1 MATLAB/Smulink的简介 (31)1.2 通信发展简史........................................ 错误!未定义书签。
1 1.3 通信技术的现状和发展趋势............................ 错误!未定义书签。
4 第二章 2ASK、2FSK、2PSK和2DPSK的基本原理和实现....... 错误!未定义书签。
7 2.1 2ASK的基本原理和调制解调实现...................... 错误!未定义书签。
8 2.2 2FSK的基本原理和调制解调实现..................... 错误!未定义书签。
11 2.3 2PSK的基本原理和调制解调实现.................... 错误!未定义书签。
14 2. 2DPSK的基本原理和调制解调实现.................... 错误!未定义书签。
matlab通信仿真实例
matlab通信仿真实例在Matlab中进行通信系统的仿真,可以涉及到多种不同的通信技术和协议,包括调制解调、信道编码、多址接入等。
以下以OFDM系统为例,介绍Matlab 中通信仿真的实例。
OFDM(正交频分复用)是一种常用于现代通信系统中的技术,它将高速数据流分割成多个较低速的子流,并将每个子流分配到不同的子载波上。
优点是能够抵抗多径效应和频率选择性衰落,并提供高数据速率。
首先,我们需要创建一个包含OFDM系统参数的结构体。
例如:ofdmParam.M = 16; % 子载波数量ofdmParam.K = 4; % 用于混合多路复用的用户数量ofdmParam.N = ofdmParam.M * ofdmParam.K; % 总子载波数量ofdmParam.CP = 16; % 循环前缀长度接下来,我们可以生成用于OFDM仿真的数据流。
例如,我们可以使用随机整数生成器生成一系列整数,并将其转换为复数形式的调制符号:data = randi([0, ofdmParam.M-1], 1, ofdmParam.N);dataMod = qammod(data, ofdmParam.M);然后,我们可以创建一个包含OFDM信号的函数。
在OFDM系统中,生成的数据符号将分配到不同的子载波上,然后在时域中通过插入循环前缀进行叠加:function[ofdmSignal] = createOFDMSignal(dataMod, ofdmParam) ofdmSignal = [];for k = 0:ofdmParam.K-1% 提取相应的数据符号,并进行IFFTofdmData =ifft(dataMod(k*ofdmParam.M+1:(k+1)*ofdmParam.M));% 添加循环前缀ofdmDataWithCP = [ofdmData(end-ofdmParam.CP+1:end), ofdmData];% 将OFDM符号添加到OFDM信号中ofdmSignal = [ofdmSignal, ofdmDataWithCP];endend将OFDM信号传输到信道中,我们可以使用加性高斯白噪声(AWGN)信道模型来模拟实际通信环境:EbNo = 10; % 信噪比snr =10*log10(ofdmParam.N*ofdmParam.M/(ofdmParam.N*ofdmParam.M+1 )*(10^(EbNo/10)));ofdmSignalNoisy = awgn(ofdmSignal, snr, 'measured');最后,我们可以对接收到的OFDM信号进行解调和信号恢复。
通信系统MATLAB仿真实验2010FALL
通信系统MATLAB 仿真实验实验一 模拟调制系统实验目的:● 熟悉matlab 仿真环境。
● 掌握基于matlab 的通信系统建模方法。
●验证AM 、DSB 、SSB 、FM 系统的调制解调方法。
实验内容:1. 建立AM 信号的发送端模型,分别用包络检波法和相干解调法解调AM 信号。
2. 搭建DSB 系统调制解调模型。
3. 搭建SSB 系统调制解调模型。
4. 搭建FM 系统调制解调模型。
1 AM 信号调制的调制解调:1.1 AM 信号调制的调制AM 调制器模型如图1:图1-1AM 调制器原理框图s AM (t)=[A 0+m(t)]cos2πf c t (1-1)设调制信号为单一频率的正弦波,频率f =10Hz ,载波频率为100Hz 。
matlab 代码如下:A0=2; %直流偏置电压c S Afm=10; % 信号10Hz fc=100; %载波频率100Hzfs=800; %取样频率800Hz,采样频率选取原则是满足系统中可能出现的信号最高频率的2倍以上。
t=0:1/fs:0.1; %仿真时间长度0.1s mt=sin(2*pi*fm*t);%基带信号,可选多音调制比如mt=sin(2*pi*fm*ts)+ cos(2*pi*3*fm*ts) s_am=(mt+A0).*sin(2*pi*fc*t); 观察调制信号波形plot(t,s_am)观察调制信号频谱periodogram(s_am,[],'twosided',[],1/ts);%有关此函数的用法参考matlab 随机帮助文档 思考题:看到的谱线如何?如何观察到更清晰的谱线?1.2 信号在信道中传输仅考虑加性高斯白噪声信道。
信号在高斯白噪声信道中传输时会叠加高斯白噪声,这里介绍两种叠加高斯白噪声的方法。
利用randn 或wgn 函数产生与信号长度相同的白噪声序列函数randn (1,N)产生1行N 列互不相关的、均值为零、标准差为1的高斯随机数,N 等于输入信号的长度,也意味着采样频率与信号的采样频率相同,如果信号的采样频率为f s ,则噪声单边功率谱密度snnnf B N 2202σσ==,其中B n =f s /2为噪声带宽,这里需要区别所加噪声功率与解调器输入噪声功率.解调器输入噪声功率是经过带通滤波以后的噪声功率N i =N 0B,B 为信号带宽,B<Bn.噪声功率就是其方差,改变噪声功率可以通过给所有的采样值乘以一个系数(标准差来完成),例如:产生方差为1的高斯噪声:x= randn (1,N); 产生方差为4的高斯噪声:x=2* randn (1,N); %可以利用matlab 函数var(x)来验证x 的方差. 利用Matlab 提供的函数awgn awgn 函数的用法为: y = awgn(x,snr) ;x.为输入信号, snr 为信噪比,单位是 dB. 如果 x 是复数, awgn 加复噪声. 这种用法假定 x 的功率是 0 dBW.(1w)信号功率x (单位w )与dBW 的关系是:dBW=10log 10(x/1w). y = awgn(x,snr,sigpower) ;x,snr 同上, sigpower 指定信号功率,单位是dBW. y = awgn(x,snr,'measured') ; 让Matlab 自动测量信号功率。
MATLAB通信系统仿真实验报告
MATLAB通信系统仿真实验报告实验一、MATLAB的基本使用与数学运算目的:学习MATLAB的基本操作,实现简单的数学运算程序。
内容:1-1 要求在闭区间[0,2π]上产生具有10个等间距采样点的一维数组。
试用两种不同的指令实现。
运行代码:x=[0:2*pi/9:2*pi]运行结果:1-2 用M文件建立大矩阵xx=[ 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.91.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.92.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.93.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9]代码:x=[ 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.91.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.92.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.93.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9]m_mat运行结果:1-3已知A=[5,6;7,8],B=[9,10;11,12],试用MATLAB分别计算A+B,A*B,A.*B,A^3,A.^3,A/B,A\B.代码:A=[5 6;7 8] B=[9 10;11 12] x1=A+B X2=A-B X3=A*B X4=A.*B X5=A^3 X6=A.^3 X7=A/B X8=A\B运行结果:1-4任意建立矩阵A,然后找出在[10,20]区间的元素位置。
程序代码及运行结果:代码:A=[12 52 22 14 17;11 10 24 03 0;55 23 15 86 5 ] c=A>=10&A<=20运行结果:1-5 总结:实验过程中,因为对软件太过生疏遇到了些许困难,不过最后通过查书与同学交流都解决了。
例如第二题中,将文件保存在了D盘,而导致频频出错,最后发现必须保存在MATLAB文件之下才可以。
实验一 模拟通信的MATLAB仿真
实验一 模拟通信的MATLAB 仿真姓名:左立刚 学号:031040522简要说明:实验报告注意包括AM ,DSB ,SSB ,VSB ,FM 五种调制与解调方式的实验原理,程序流程图,程序运行波形图,simulink 仿真模型及波形,心得体会,最后在附录中给出了m 语言的源程序代码。
一.实验原理1.幅度调制(AM )幅度调制(AM )是指用调制信号去控制高频载波的幅度,使其随调制信号呈线性变化的过程。
AM 信号的数学模型如图3-1所示。
图2-1 AM 信号的数学模型为了分析问题的方便,令δ=0,1.1 AM 信号的时域和频域表达式()t S AM=[A+m ()t ]cos t c ω (2-1)()t S AM =A 0π[()()ωωωωδC C ++-]+()()[]ωωωωc c M M ++-21(2-2)AM 信号的带宽2=BAMfH(2-3)式中,fH为调制信号的最高频率。
2.1.3 AM 信号的功率P AM 与调制效率ηAMPAM=()22220t m A+=PPmc+(2-4)式中,P C=2A为不携带信息的载波功率;()22t m P m=为携带信息的边带功率。
()()t t m A m PPAMCAM222+==η(2-5) AM 调制的优点是可用包络检波法解调,不需要本地同步载波信号,设备简单。
AM 调制的最大缺点是调制效率低。
2.2、双边带调制(DSB )如果将在AM 信号中载波抑制,只需在图3-1中将直流 A去掉,即可输出抑制载波双边带信号。
2.2.1 DSB 信号的时域和频域表达式()()t t m t c DSB S ωcos = (2-6)()()()[]ωωωωωCCDSB M M S ++-=21 (2-7)DSB 信号的带宽fBBHAMDSB2==(2-8)DSB 信号的功率及调制效率由于不再包含载波成分,因此,DSB 信号的功率就等于边带功率,是调制信号功率的一半,即()()t t m P S PC DSB DSB2221===(2-9) 显然,DSB 信号的调制效率为100%。
matlab与通信系统仿真程序及图
实验一2:for i=1:50,j=1:50;A(i,j)=i+j-1;endC=flipud(A),B=fliplr(A),A(1:10,1:10)=zeros;D=A3:clear;a=255*rand(50);disp(a),a(find(a<128))=0;a(find(a>128))=255;w=a;disp(w)实验二:1:(1)clear;n=0:23;N=12;y1=sin(2*4*pi*n/N);y2=sin(2*5*pi*n/N);y3=sin(2*7*pi*n/N);y4=sin(2*10*pi*n/N);plot(n,y1,'+r-',n,y2,'-.',n,y3,'k-',n,y4,'*g-');axis([0 25 -1 2 ]);xlabel('横轴n');ylabel('纵轴y');text(0.8,0.9,'y1');text(19.6,0.9,'y2');text(14,0.9,'y3');text(5,0.9,'y4');title('plot tu xing');legend('y1=sin(2*4*pi*n/N)','y2=sin(2*5*pi*n/N)','y3=sin(2*7*pi*n/N)','y4=sin(2*10*pi*n/N)')(2)clear;n=0:23;N=12;y1=sin(2*4*pi*n/N);y2=sin(2*5*pi*n/N);y3=sin(2*7*pi*n/N);y4=sin(2*10*pi*n/N);stem(n,y1,'+r-');hold on;stem(n,y2,'b-');hold on;stem(n,y3,'k-');hold on;stem(n,y4,'*g-');axis([0,25,-2,4]);xlabel('横轴n');ylabel('纵轴y');text(0.8,1.2,'y1');text(3,1.4,'y2');text(14,1.2,'y3');text(10.9,1.3,'y4');title('n from 0 to 23');legend('y1=sin(2*4*pi*n/N)','y2=sin(2*5*pi*n/N)','y3=sin(2*7*pi*n/N)','y4=sin(2*10*pi*n/N)') 2:clear all;N=input('input N=');T=1;fs=1/T;N_sample=128;dt=1/N_sample;t=0:dt:10*T-dt;n=-N:N;Fn=(-1/2)*sinc(n/2).*exp(-j*n*pi/2);Fn(N+1)=0;ft=zeros(1,length(t));for m=-N:N;ft=ft+ Fn(m+N+1)*exp(j*m*pi*2*fs*t);endplot(t,ft);legend('时域曲线ft=ft+ Fn(m+N+1)*exp(j*m*pi*2*fs*t)',4)3:N_sample=128;dt=1/N_sample;t=0:dt:1-dt;st=[ones(1,N_sample/2),-ones(1,N_sample/2)];subplot(311);plot(t,st);axis([0 1 -2 2]);xlabel('t');ylabel('s(t)'); subplot(312);[f,sf]=T2F(t,st);plot(f,abs(sf));hold on;axis([-10 10 0 1]);xlabel('f');ylabel('|S(f)|');sff=(-1/2)*exp(-j*f*pi/2).*sinc(f/2);plot(f,abs(sff));[t,st]=F2T(f,sf);subplot(313);axis([0 1 -2 2]);xlabel('t');ylabel('恢复的s(t)');plot(t,st)子函数:(1):function[t,st]=F2T(f,sf)df=f(2)-f(1);Fmx=f(end)-f(1)+df;dt=1/Fmx;N=length(sf);T=dt*N;t=0:dt:T-dt;sff=fftshift(sf);st=Fmx*ifft(sff);(2):function[f,sf]=T2F(t,st)dt=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);2图:M=4 M=5M=7 M=10M=4 M=5M=7 M=10N=10 N=10002468100246810实验三:1.(2)clear;p=2;N=5000;u=randn(5,4);c=sqrt(p);u=u*c;power_u=var(u);subplot(211)plot(u(1:20));grid on;ylabel('u(n)');xlabel('n');subplot(212)hist(u,50);grid on;ylabel('histogram of u(n)');2:clear all;N=500;disounce=(sign(rand(1,N)-0.5+eps)+1)/2; n=8;temp1=ones(1,n);temp0=zeros(1,n);new_disounce=[];for i=1:length(disounce)if disounce(i)==0new_disounce=[new_disounce temp0];elsenew_disounce=[new_disounce temp1];endendT=0.01;t=0:T/n:T/n*(length(new_disounce)-1);subplot(211);plot(t,new_disounce)axis([min(t)-0.1,max(t)+0.1,min(new_disounce)-0.1,max(new_disounce)+0.1]) y=new_disounce;Nf=length(t);Y=fft(y,Nf);Pyy=abs(Y).^2/Nf;dt=t(2)-t(1);df=1/dt;f=df*(0:(Nf-1)/2)/Nf;subplot(212);plot(f,10*log10(Pyy(1:((Nf-1)/2+1))));title('功率谱密度');xlabel('频率(HZ)');grid3:clear all;SNRindB1=0:1:12;SNRindB2=0:0.01:12;for i=1:length(SNRindB1)smld_err_prb(i)= exa0308_Fun_singlepe(SNRindB1(i));endsemilogy(SNRindB1,smld_err_prb,'r*');for i=1:length(SNRindB2)SNR=10^(SNRindB2(i)/10);theo_err_prb(i)=(1/2)*erfc(sqrt(SNR/2));endhold on;semilogy(SNRindB2,theo_err_prb);grid on子函数:function [p]=exa0308_Fun_singlepe(snr_in_dB)E=1;SNR=10^(snr_in_dB/10);sgma=E/sqrt(SNR*2);N=10000;dsource=(sign(rand(1,N)-0.5+eps)+1)/2;numoferr=0;for i=1:Nif (dsource(i)==0)r=-E+sgma*randn;elser=E+sgma*randn;endif(r<0.5*E)decis=0;elsedecis=1;endif (decis~=dsource(i)) numoferr=numoferr+1; end end p=numoferr/N;:实验3的图 1:>> x=2*rand(5,4) x =0.7375 1.9921 0.9260 0.5703 1.3593 1.8842 0.2846 1.5663 0.0472 1.6797 0.9457 1.9128 0.8051 0.0293 0.9237 0.82740.8319 1.4452 1.7069 0.359802468101214161820-4-2024u (n )nu =-1.2765 1.1282 0.4296 -1.4450 -1.3768 0.7019 1.3848 -3.8243 -1.9091 -1.3563 1.7813 -2.9299 -0.8431 0.1011 0.4232 0.9075 0.4459 0.3491 -1.6545 0.89682:0.20.40.60.811.21.41.61.820.51050100150200250300350400-400-200200功率谱密度频率(HZ)3:0246810121010101010100。
