文档库 最新最全的文档下载
当前位置:文档库 › 基于MATLAB的MIMO通信系统仿真

基于MATLAB的MIMO通信系统仿真

基于MATLAB的MIMO通信系统仿真
基于MATLAB的MIMO通信系统仿真

目录

(一)基于MATLAB的MIMO通信系统仿真…………………………

一、基本原理………………………………………………………

二、仿真……………………………………………………………

三、仿真结果………………………………………………………

四、仿真结果分析…………………………………………………(二)自选习题部分…………………………………………………(三)总结与体会……………………………………………………(四)参考文献……………………………………………………

实训报告

(一)基于MATLAB的MIMO通信系统仿真

一、基本原理

二、仿真

三、仿真结果

四、仿真结果分析

OFDM技术通过将频率选择性多径衰落信道在频域内转换为平坦信道,减小了多径衰落的影响。OFDM技术如果要提高传输速率,则要增加带宽、发送功率、子载波数目,这对于频谱资源紧张的无线通信时不现实的。

MIMO能够在空间中产生独立并行信道同时传输多路数据流,即传输速率很高。这些增加的信道容量可以用来提高信息传输速率,也可以通过增加信息冗余来提高通信系统的传输可靠性。但是MIMO却不能够克服频率选择性深衰落。

所以OFDM和MIMO这一对互补的技术自然走到了一起,现在是3G,未来也是4G,以及新一代WLAN技术的核心。总之,是核心物理层技术之一。

1、MIMO系统理论:

核心思想:时间上空时信号处理同空间上分集结合。

时间上空时通过在发送端采用空时码实现: 空时分组、空时格码,分层空时码。

空间上分集通过增加空间上天线分布实现。此举可以把原来对用户来说是有害的无线电波多径传播转变为对用户有利。

2、MIMO 系统模型:

11h 12

h 21

h 22

h r

n h 1r

n h 21

R n h 2

R n h 1

n n R h 可以看到,MIMO 模型中有一个空时编码器,有多根天线,其系统模型和上述MIMO 系统理论一致。为什么说nt>nr ,因为一般来说,移动终端所支持的天线数目总是比基站端要少。 接收矢量为:y Hx n =+,即接收信号为信道衰落系数X 发射信号+接收端噪声

3、MIMO 系统容量分析:

(附MIMO 系统容量分析程序)

香农公式的信道容量(即信息传送速率)为:

2log (1/)C B S N =+

4、在MIMO 中计算信道容量分两种情况:

未知CSI 和已知CSI (CSI 即为信道状态信息),其公式推导较为复杂,推导结果为信道容量是信噪比与接收、发射天线的函数。

在推导已知CSI 中,常用的有waterfilling ,即著名的注水原理。但是,根据相关文献资料,通常情况下CSI 可以当做已知,因为发送,接收端会根据具体信道情况估算CSI 的相关参数。

在这里对注水原理做一个简单介绍:之所以成为注水原理是因为理想的注水原理是在噪声大的时候少分配功率,噪声小时多分配功率,最后噪声+功率=定值,这如果用图形来表示,则类似于给水池注水的时候,水池低的地方就多注水,也就是噪声小分配的功率就多,故称这种达到容量的功率分配方式叫做注水原理。通过给各个天线分配不同的发射功率,增加系统容量。核心思想就是上面所阐述的,信道条件好,则分配更多功率;信道条件差,则分配较少的功率。

在MIMO 的信道容量当中要注意几个问题:(下面说已知CSI 都是加入了估计CSI 的算法,并且采用了注水原理。)

1. 已知CSI 的情况下的信道容量要比发送端未知CSI 的情况下的信道容量高,这是

由于当发送端已知CSI 的时候,发送端可以优化发送信号的协方差矩阵。也就是

可以通过注水原理使得信道容量达到最大。所以在实际系统当中,发射端必须有效利用CSI (如上述说明的通常采用估算的方法),这样可以优化发送信号。 2.

如果信道信噪比足够大的时候,这时已知和未知CSI 相差不大。因为已知CSI 情况下此时所有的池子都是满的,此时发送天线上的功率得到了最大分配。和未知CSI 情况一样。

3. 如果收发天线数相等,这时已知CSI 比未知CSI 的优势并不明显;但是,当发射天线数大于接收天线数时,已知CSI 的信道容量要明显高于未知CSI 。

5、MIMO 和OFDM 结合使用,即MIMO-OFDM 系统:

发送天线

接收天线

Nt*Nr MIMO-OFDM 系统结构框图

利用MIMO 和OFDM 结合,可以大大提高无线通信系统的信道容量和传输速率,有效抵抗信道衰落和抑制干扰,被认为是构建宽带无线通信系统最关键的物理层传输方案。

从图中可以看出,MIMO-OFDM 系统中,每根发射天线的通路上都有一个OFDM 调制器,每根接收天线上都有一个OFDM 解调器。

空时编码技术之STBC 介绍:

在上文的阐述中讲到了

MIMO 通过时间上空时信号处理和空间上分集结合实现。空时信号处理,即空时编码技术目前研究较多的是分层空时编码(BLAST ),空时网格编码(STTC )以及空时分组编码(STBC )。其中,空时分组编码(STBC )与1998年发明,应用最为广泛。

Alamouti 发送分集空时编码方案

星座映射的解释如下:

数字调制用"星座图"来描述,星座图中定义了一种调制技术的两个基本参数:1)信号分布;2)与调制数字比特之间的映射关系。星座图中规定了星座点与传输比特间的对应关系,这种关系称为"映射",一种调制技术的特性可由信号分布和映射完全定义,即可由星座图来完全定义。将输入的串行二进制信息序列经串-并变换,变成m=log2M 个并行数据流,M 为星座图的星座点数目,每一路的数据率是R/m,R 是串行输入码的数据率。每m 个比特对应星座图上的的一个星座点,比如BPSK 调制,每1个比特对应一个星座点;QPSK 调制,每2个比特对应一个星座点;16QAM 调制,每4个比特对应一个星座点。一般映射采用格雷码为映射规则。

在此例中,信源发送的二进制信息比特首先进行星座映射。假设采用4进制的调制星座,有2log 2m M ==。把从信源来的二进制信息比特每2个比特分为一组(此例中是x1和x2),对连续的两组比特进行星座映射,得到两个调制符号x1,x2。把这两个符号送入编码器,并按照如下方式编码:

12**21x x x x ????-??

在第一个发送时刻,符号1x 在天线1上发送出去,符号2x 在天线2上发送出去。第二个时刻,符号*2x -在天线1上发送出去,符号*1x 在天线2上发送出去。可以看出,两幅发送天线上发送信号批次存在着一定的关系,因此这种空时码是基于发送分集的。

两幅发送天线上发送的信号满足正交特性。

考虑两个发送天线,一个接收天线的情况:

假设接收端可以完全准确地估计出信道的衰落系数1h 和2h ,在接收端采用最大似然估计,从

星座中找出一对符号12,x x ∧∧??

???

,该符号也就是最终接收端认为发送端发送的符号。在程序中,

其判决式为:

(

)

2

~22

2

112111arg min 1,x h h x d x x ∧

∧∧??

=+-+ ???

(

)

2

~22

2

2122

22arg min 1,x h h x d x x ∧

∧∧??=+-+ ???

其中~

1x ,~

2x 是根据信道衰落系数和接收信号进行合并得到的信号。

考虑多接收天线的情况:

多天线系统中,发送端的编码与传输方案和单接收天线系统一样。只是在接收端的处理

变得复杂,需要对不同接收天线上接收到的信号进行合并处理。多接收天线下的判决度量可以通过把各副接收天线上的接受信号得到的判决度量线性合并得到。判决式如下(该判决式在程序中有体现):

()

2~2221,1,21111

arg min 1,nr j j j x h h x d x x ∧

∧∧=????????=+-+?? ???????????∑

()

2~2222,1,22221arg min 1,nr j j j x h h x d x x ∧∧∧=????????=+-+?? ???????????∑

最后的系统结构图:

发射天线1

N

接收天线1

(N,M )STBC-MIMO-OFDM 系统框图

程序:

信道容量: close all ; clear all ; clc; N_loop=100; EbN0=0:5:25; N0=1;

Eb=10.^(EbN0/10)*N0; normalized=sqrt(1/2); C_norm=zeros(1,length(EbN0)); D=zeros(1,N_loop);

n=[1,2,4,8]; W=3*10^4; for i=1:4

for ee=1:length(EbN0) for s=1:N_loop

H=randn(n(i),n(i))+j*randn(n(i),n(i)); Q=H'*H;

m=n(i);

I=eye(m,m);

SNR=Eb(ee)/N0;

C=W*log2(det(I+SNR/n(i)*Q));

D(s)=C;

end

C_avg=sum(D)/N_loop;

C_normal=C_avg/W;

C_norm(ee)=C_normal;

disp(['When SNR is ',num2str(EbN0(ee)),'dB:

C_avg',int2str(i),' = ',num2str(C_avg),'; C_normal ',int2str(i),' = ',num2str(C_normal)]);

end

P=plot(EbN0,C_norm,'r-d');

set(P,'linewidth',[2]);

axis([0 30 0 100]);

AX=gca;

set(AX,'fontsize',14);

title('\fontsize{12}\bfMIMO D?μàèYá?');

X=xlabel('Eb/N_0 [dB]£¨D???±è£?');

set(X,'fontsize',12);

Y=ylabel('Capacity bit/s/Hz£¨D?μàèYá?£?');

set(Y,'fontsize',12);

hold on;

grid on;

end

legend('n1=1','n2=2','n3=4','n4=8');

51015202530

MIMO 信道容量

Eb/N 0 [dB](信噪比)

C a p a c i t y b i t /s /H z (信道容量)

误码率与信噪比关系: clear all close all clc

%+++++++++++++++++++++++++++±?á?++++++++++++++++++++++++++++++ i=sqrt(-1);

IFFT_bin_length=512; carrier_count=100; symbols_per_carrier=66; cp_length=10;

addprefix_length=IFFT_bin_length+cp_length; M_psk=4;

bits_per_symbol=log2(M_psk);

O=[1 -2 -3;2+j 1+j 0;3+j 0 1+j;0 -3+j 2+j];

co_time=size(O,1); Nt=size(O,2); Nr=2;

disp('--------------start-------------------'); num_X=1;

for cc_ro=1:co_time

for cc_co=1:Nt

num_X=max(num_X,abs(real(O(cc_ro,cc_co))));

end

end

co_x=zeros(num_X,1);

for con_ro=1:co_time

for con_co=1:Nt

if abs(real(O(con_ro,con_co)))~=0

delta(con_ro,abs(real(O(con_ro,con_co))))=sign(real(O(con_ro,con_co))

);

epsilon(con_ro,abs(real(O(con_ro,con_co))))=con_co;

co_x(abs(real(O(con_ro,con_co))),1)=co_x(abs(real(O(con_ro,con_co))),

1)+1;

eta(abs(real(O(con_ro,con_co))),co_x(abs(real(O(con_ro,con_co))),1))=

con_ro;

coj_mt(con_ro,abs(real(O(con_ro,con_co))))=imag(O(con_ro,con_co));

end

end

end

eta=eta.';

eta=sort(eta);

eta=eta.';

carriers = (1: carrier_count) + (floor(IFFT_bin_length/4) -

floor(carrier_count/2));

conjugate_carriers=IFFT_bin_length-carriers+2; tx_training_symbols=training_symbol(Nt,carrier_count);

baseband_out_length = carrier_count * symbols_per_carrier;

snr_min=3;

snr_max=15;

graph_inf_bit=zeros(snr_max-snr_min+1,2,Nr);

graph_inf_sym=zeros(snr_max-snr_min+1,2,Nr);

for SNR=snr_min:snr_max

clc

disp('Wait until SNR=');disp(snr_max);

SNR

n_err_sym=zeros(1,Nr);

n_err_bit=zeros(1,Nr);

Perr_sym=zeros(1,Nr);

Perr_bit=zeros(1,Nr);

re_met_sym_buf=zeros(carrier_count,symbols_per_carrier,Nr);

re_met_bit=zeros(baseband_out_length,bits_per_symbol,Nr);

baseband_out=round(rand(baseband_out_length,bits_per_symbol));

de_data=bi2de(baseband_out);

data_buf=pskmod(de_data,M_psk,0);

carrier_matrix=reshape(data_buf,carrier_count,symbols_per_carrier); for tt=1:Nt:symbols_per_carrier

data=[];

for ii=1:Nt

tx_buf_buf=carrier_matrix(:,tt+ii-1);

data=[data;tx_buf_buf];

end

XX=zeros(co_time*carrier_count,Nt);

for con_r=1:co_time

for con_c=1:Nt

if abs(real(O(con_r,con_c)))~=0

if imag(O(con_r,con_c))==0

XX((con_r-1)*carrier_count+1:con_r*carrier_count,con_c)=data((abs(rea

l(O(con_r,con_c)))-1)*carrier_count+1:abs(real(O(con_r,con_c)))...

*carrier_count,1)*sign(real(O(con_r,con_c)));

else

XX((con_r-1)*carrier_count+1:con_r*carrier_count,con_c)=conj(data((ab

s(real(O(con_r,con_c)))-1)*carrier_count+1:abs(real(O(con_r,con_c))).

..

*carrier_count,1))*sign(real(O(con_r,con_c)));

end

end

end

end

XX=[tx_training_symbols;XX];

rx_buf=zeros(1,addprefix_length*(co_time+1),Nr);

for rev=1:Nr

for ii=1:Nt

tx_buf=reshape(XX(:,ii),carrier_count,co_time+1);

IFFT_tx_buf=zeros(IFFT_bin_length,co_time+1);

IFFT_tx_buf(carriers,:)=tx_buf(1:carrier_count,:);

IFFT_tx_buf(conjugate_carriers,:)=conj(tx_buf(1:carrier_count,:));

time_matrix=ifft(IFFT_tx_buf);

time_matrix=[time_matrix((IFFT_bin_length-cp_length+1):IFFT_bin_lengt h,:);time_matrix];

tx=time_matrix(:)';

%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

tx_tmp=tx;

d=[4,5,6,2;4,5,6,2;4,5,6,2;4,5,6,2];

a=[0.2,0.3,0.4,0.5;0.2,0.3,0.4,0.5;0.2,0.3,0.4,0.5;0.2,0.3,0.4,0.5];

for jj=1:size(d,2)

copy=zeros(size(tx)) ;

for kk = 1 + d(ii,jj): length(tx)

copy(kk) = a(ii,jj)*tx(kk - d(ii,jj)) ;

end

tx_tmp=tx_tmp+copy;

end

txch=awgn(tx_tmp,SNR,'measured');

rx_buf(1,:,rev)=rx_buf(1,:,rev)+txch;

end

%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rx_spectrum=reshape(rx_buf(1,:,rev),addprefix_length,co_time+1); rx_spectrum=rx_spectrum(cp_length+1:addprefix_length,:);

FFT_tx_buf=fft(rx_spectrum);

spectrum_matrix=FFT_tx_buf(carriers,:);

Y_buf=(spectrum_matrix(:,2:co_time+1));

Y_buf=conj(Y_buf');

spectrum_matrix1=spectrum_matrix(:,1);

Wk=exp((-2*pi/carrier_count)*i);

L=10;

p=zeros(L*Nt,1);

for jj=1:Nt

for l=0:L-1

for kk=0:carrier_count-1

p(l+(jj-1)*L+1,1)=p(l+(jj-1)*L+1,1)+spectrum_matrix1(kk+1,1)*conj(tx_ training_symbols(kk+1,jj))*Wk^(-(kk*l));

end

end

end

%q=zeros(L*Nt,L*Nt);

%for ii=1:Nt

% for jj=1:Nt

% for l1=0:L-1

% for l2=0:L-1

% for kk=0:carrier_count-1

% q(l2+(ii-1)*L+1,l1+(jj-1)*L+1)=

q(l2+(ii-1)*L+1,l1+(jj-1)*L+1)+tx_training_symbols(kk+1,ii)*conj(tx_t raining_symbols(kk+1,jj))*Wk^(-(kk*(-l1+l2)));

% end

% end

% end

% end

%end

%h=inv(q)*p;

h=p/carrier_count;

H_buf=zeros(carrier_count,Nt);

for ii=1:Nt

for kk=0:carrier_count-1

for l=0:L-1

H_buf(kk+1,ii)=H_buf(kk+1,ii)+h(l+(ii-1)*L+1,1)*Wk^(kk*l);

end

end

end

H_buf=conj(H_buf');

RRR=[];

for kk=1:carrier_count

Y=Y_buf(:,kk);

H=H_buf(:,kk);

for co_ii=1:num_X

for co_tt=1:size(eta,2)

if eta(co_ii,co_tt)~=0

if coj_mt(eta(co_ii,co_tt),co_ii)==0

r_til(eta(co_ii,co_tt),:,co_ii)=Y(eta(co_ii,co_tt),:);

a_til(eta(co_ii,co_tt),:,co_ii)=conj(H(epsilon(eta(co_ii,co_tt),co_ii

),:));

else

r_til(eta(co_ii,co_tt),:,co_ii)=conj(Y(eta(co_ii,co_tt),:));

a_til(eta(co_ii,co_tt),:,co_ii)=H(epsilon(eta(co_ii,co_tt),co_ii),:);

end

end

end

end

RR=zeros(num_X,1);

for iii=1:num_X

for ttt=1:size(eta,2)

if eta(iii,ttt)~=0

RR(iii,1)=RR(iii,1)+r_til(eta(iii,ttt),1,iii)*a_til(eta(iii,ttt),1,ii

i)*delta(eta(iii,ttt),iii);

end

end

end

RRR=[RRR;conj(RR')];

end

r_sym=pskdemod(RRR,M_psk,0);

re_met_sym_buf(:,tt:tt+Nt-1,rev)=r_sym;

end

end

re_met_sym=zeros(baseband_out_length,1,Nr);

for rev=1:Nr

re_met_sym_buf_buf=re_met_sym_buf(:,:,rev);

re_met_sym(:,1,rev)= re_met_sym_buf_buf(:);

re_met_bit(:,:,rev)=de2bi(re_met_sym(:,1,rev));

for con_dec_ro=1:baseband_out_length if re_met_sym(con_dec_ro,1,rev)~=de_data(con_dec_ro,1)

n_err_sym(1,rev)=n_err_sym(1,rev)+1;

for con_dec_co=1:bits_per_symbol

if

re_met_bit(con_dec_ro,con_dec_co,rev)~=baseband_out(con_dec_ro,con_de

c_co)

n_err_bit(1,rev)=n_err_bit(1,rev)+1;

end

end

end

end

%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

graph_inf_sym(SNR-snr_min+1,1,rev)=SNR;

graph_inf_bit(SNR-snr_min+1,1,rev)=SNR;

Perr_sym(1,rev)=n_err_sym(1,rev)/(baseband_out_length); graph_inf_sym(SNR-snr_min+1,2,rev)=Perr_sym(1,rev);

Perr_bit(1,rev)=n_err_bit(1,rev)/(baseband_out_length*bits_per_symbol

);

graph_inf_bit(SNR-snr_min+1,2,rev)=Perr_bit(1,rev);

%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

end

end

for rev=1:rev

x_sym=graph_inf_sym(:,1,rev); y_sym=graph_inf_sym(:,2,rev);

subplot(Nr,1,rev);

semilogy(x_sym,y_sym,'b-*');

axis([2 16 0.0001 1]);

xlabel('D???±è/dB');

ylabel('?ó???ê');

grid on

%hold on

end

%hold off

%for rev=1:rev

%x_bit=graph_inf_bit(:,1,rev);

%y_bit=graph_inf_bit(:,2,rev);

%subplot(2,1,2);

%semilogy(x_bit,y_bit,'k-v');

%axis([2 16 0.0001 1]);

%xlabel('SNR, [dB]');

%ylabel('Bit Error Probability');

%grid on

%hold on

%end

%hold off

disp('--------------end-------------------');

%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

% ************************beginning of

file*****************************

%training_symbol.m

function tx_training_symbols=training_symbol(Nt,carrier_count)

j=sqrt(-1);

Wk=exp((-2*pi/carrier_count)*i);

training_symbols= [ 1 j j 1 -1 -j -j -1 1 j j 1 -1 -j -j -1 1 j j 1 -1 -j -j -1 1 j j 1 -1 -j -j -1 1 j j 1 -1 ...

-j -j -1 1 j j 1 -1 -j -j -1 1 j j 1 -1 -j -j -1 1 j j 1 -1 -j -j -1 1 j j 1 -1 -j -j -1 1 ...

j j 1 -1 -j -j -1 1 j j 1 -1 -j -j -1 1 j j 1 -1 -j -j -1 1 j j 1 ]';

tx_training_symbols=[];

for ii=1:carrier_count

training_symbols_buf=[];

for jj=1:Nt

training_symbols_buf=[training_symbols_buf,Wk^(-floor(carrier_count/N t)*(jj-1)*ii)*training_symbols(ii,1)];

end

tx_training_symbols=[tx_training_symbols;training_symbols_buf];

end

%************************end of file**********************************

(二)自选习题部分

实例二:

clear;

reg=ones(1,9);

coeff=[1,0,0,1,0,1,1,0,0,1];

N=2^length(reg)-1;

for k=1:N

a_n=mod(sum(reg.*coeff(1:length(coeff)-1)),2);

reg=[reg(2:length(reg)),a_n];

out(k)=reg(1);

end

out=2*out-1;

for j=0:N-1

rho(j+1)=sum(out.*[out(1+j:N),out(1:j)])/N;

end

j=-N+1:N-1;

rho=[fliplr(rho(2:N)),rho];

plot(j,rho);axis([-10 10 -0.1 1.2]);

运行结果:

实例三:

clear;

reg=ones(1,6); 寄存器初始状态,全1,寄存器级数为6

coeff=[1,0,0,0,0,1,1]; 抽头数cr,---,c1,c0取决于特征多项式

N=2^length(reg)-1; 周期

for k=1:N 计算一个周期的m序列输出

a_n=mod(sum(reg.*coeff(1:length(coeff)-1)),2); 反馈

reg=[reg(2:length(reg)),a_n]; 寄存器移位,反馈

out1(k)=2*reg(1)-1; 寄存器最低位输出,转换为双极性序列end

reg=ones(1,6);

coeff=[1,1,0,0,1,1,1];

for k=1:N

a_n=mod(sum(reg.*coeff(1:length(coeff)-1)),2);

reg=[reg(2:length(reg)),a_n];

out2(k)=2*reg(1)-1;

end

for j=0:N-1

R(j+1)=sum(out1.*[out2(1+j:N),out2(1:j)]); 计算相关函数

end

j=-N+1:N-1;

R=[fliplr(R(2:N)),R];

plot(j,R);axis([-N N -20 20]);xlabel('j');ylabel('R(j)');

max(abs(R))

运行结果:

(三)总结与体会

经过两个星期的仿真实训,我初步了解了基于MATLAB的MIMO通信系统仿真。实训分为两个阶段,第一阶段是老师布置了一些的作业给我们操练,在老师精心的指导下我们已把八个练习做的很好了,之后,便开始了自由选择题目的实训。

通过这次实训,我们对基于MATLAB的MIMO通信系统仿真比较深刻的认识,MIMO能够在空间中产生独立并行信道同时传输多路数据流,即传输速率很高。这些增加的信道容量可以用来提高信息传输速率,也可以通过增加信息冗余来提高通信系统的传输可靠性。但是MIMO却不能够克服频率选择性深衰落。所以OFDM和MIMO这一对互补的技术自然走到了一起,现在是3G,未来也是4G以及新一代WLAN技术的核心。

做二十一世纪现代人不但要有过硬的理论知识,良好的心理素质,健康的体魄,还要掌握相关的专业知识,而这次实训便提供了非常好的平台来进行相关的练习。

在实训期间,小组成员之间相互合作,每个人都有明确的分工与任务。最后,顺利的通过了答辩,圆满的完成了实训任务。当然,实训

期间还是遇到了很多的问题。但遇到问题时,只要和小组成员积极讨论,积极地向老师请教,最终还是会很好的解决问题的。

通过这次培训,我认识到只有沉下身来,静下心来认真学习,踏实做事,多用心,多动脑,才能让工作有好的起色。社会的竞争是激烈的,我想我们应该好好把握住大学学习的时间,充实、完善自我,全面发展,争取做一名出色的现代人!

(四)参考文献

Matlab通信系统仿真实验报告

Matlab通信原理仿真 学号: 2142402 姓名:圣斌

实验一Matlab 基本语法与信号系统分析 一、实验目的: 1、掌握MATLAB的基本绘图方法; 2、实现绘制复指数信号的时域波形。 二、实验设备与软件环境: 1、实验设备:计算机 2、软件环境:MATLAB R2009a 三、实验内容: 1、MATLAB为用户提供了结果可视化功能,只要在命令行窗口输入相应的命令,结果就会用图形直接表示出来。 MATLAB程序如下: x = -pi::pi; y1 = sin(x); y2 = cos(x); %准备绘图数据 figure(1); %打开图形窗口 subplot(2,1,1); %确定第一幅图绘图窗口 plot(x,y1); %以x,y1绘图 title('plot(x,y1)'); %为第一幅图取名为’plot(x,y1)’ grid on; %为第一幅图绘制网格线 subplot(2,1,2) %确定第二幅图绘图窗口 plot(x,y2); %以x,y2绘图 xlabel('time'),ylabel('y') %第二幅图横坐标为’time’,纵坐标为’y’运行结果如下图: 2、上例中的图形使用的是默认的颜色和线型,MATLAB中提供了多种颜色和线型,并且可以绘制出脉冲图、误差条形图等多种形式图: MATLAB程序如下: x=-pi:.1:pi; y1=sin (x); y2=cos (x); figure (1); %subplot (2,1,1); plot (x,y1); title ('plot (x,y1)'); grid on %subplot (2,1,2); plot (x,y2);

基于 MATLAB 的QPSK系统仿真设计与实现

通信系统仿真设计实训报告1.课题名称:基于MATLAB 的QPSK系统仿真设计与实现 学生学号: 学生姓名: 所在班级: 任课教师: 2016年10月25日

目录 1.1QPSK系统的应用背景简介 (3) 1.2 QPSK实验仿真的意义 (3) 1.3 实验平台和实验内容 (3) 1.3.1实验平台 (3) 1.3.2实验内容 (3) 二、系统实现框图和分析 (4) 2.1、QPSK调制部分, (4) 2.2、QPSK解调部分 (5) 三、实验结果及分析 (6) 3.1、理想信道下的仿真 (6) 3.2、高斯信道下的仿真 (7) 3.3、先通过瑞利衰落信道再通过高斯信道的仿真 (8) 总结: (10) 参考文献: (11) 附录 (12)

1.1QPSK系统的应用背景简介 QPSK是英文Quadrature Phase Shift Keying的缩略语简称,意为正交相移键控,是一种数字调制方式。在19世纪80年代初期,人们选用恒定包络数字调制。这类数字调制技术的优点是已调信号具有相对窄的功率谱和对放大设备没有线性要求,不足之处是其频谱利用率低于线性调制技术。19世纪80年代中期以后,四相绝对移相键控(QPSK)技术以其抗干扰性能强、误码性能好、频谱利用率高等优点,广泛应用于数字微波通信系统、数字卫星通信系统、宽带接入、移动通信及有线电视系统之中。 1.2 QPSK实验仿真的意义 通过完成设计内容,复习QPSK调制解调的基本原理,同时也要复习通信系统的主要组成部分,了解调制解调方式中最基础的方法。了解QPSK的实现方法及数学原理。并对“通信”这个概念有个整体的理解,学习数字调制中误码率测试的标准及计算方法。同时还要复习随机信号中时域用自相关函数,频域用功率谱密度来描述平稳随机过程的特性等基础知识,来理解高斯信道中噪声的表示方法,以便在编程中使用。 理解QPSK调制解调的基本原理,并使用MATLAB编程实现QPSK信号在高斯信道和瑞利衰落信道下传输,以及该方式的误码率测试。复习MATLAB编程的基础知识和编程的常用算法以及使用MATLAB仿真系统的注意事项,并锻炼自己的编程能力,通过编程完成QPSK调制解调系统的仿真,以及误码率测试,并得出响应波形。在完成要求任务的条件下,尝试优化程序。 通过本次实验,除了和队友培养了默契学到了知识之外,还可以将次实验作为一种推广,让更多的学生来深入一层的了解QPSK以至其他调制方式的原理和实现方法。可以方便学生进行测试和对比。足不出户便可以做实验。 1.3 实验平台和实验内容 1.3.1实验平台 本实验是基于Matlab的软件仿真,只需PC机上安装MATLAB 6.0或者以上版本即可。 (本实验附带基于Matlab Simulink (模块化)仿真,如需使用必须安装simulink 模块) 1.3.2实验内容 1.构建一个理想信道基本QPSK仿真系统,要求仿真结果有 a.基带输入波形及其功率谱 b.QPSK信号及其功率谱

基于MATLAB的MIMO通信系统仿真(DOC)

目录 (一)基于MATLAB的MIMO通信系统仿真………………………… 一、基本原理……………………………………………………… 二、仿真…………………………………………………………… 三、仿真结果……………………………………………………… 四、仿真结果分析…………………………………………………(二)自选习题部分…………………………………………………(三)总结与体会……………………………………………………(四)参考文献…………………………………………………… 实训报告 (一)基于MATLAB的MIMO通信系统仿真 一、基本原理 二、仿真 三、仿真结果 四、仿真结果分析 OFDM技术通过将频率选择性多径衰落信道在频域内转换为平坦信道,减小了多径衰落的影响。OFDM技术如果要提高传输速率,则要增加带宽、发送功率、子载波数目,这对于频谱资源紧张的无线通信时不现实的。 MIMO能够在空间中产生独立并行信道同时传输多路数据流,即传输速率很高。这些增加的信道容量可以用来提高信息传输速率,也可以通过增加信息冗余来提高通信系统的传输可靠性。但是MIMO却不能够克服频率选择性深衰落。 所以OFDM和MIMO这一对互补的技术自然走到了一起,现在是3G,未来也是4G,以及新一代WLAN技术的核心。总之,是核心物理层技术之一。 1、MIMO系统理论:

核心思想:时间上空时信号处理同空间上分集结合。 时间上空时通过在发送端采用空时码实现: 空时分组、空时格码,分层空时码。 空间上分集通过增加空间上天线分布实现。此举可以把原来对用户来说是有害的无线电波多径传播转变为对用户有利。 2、MIMO 系统模型: 11h 12 h 21 h 22 h r n h 1r n h 21 R n h 2 R n h 1 n n R h 可以看到,MIMO 模型中有一个空时编码器,有多根天线,其系统模型和上述MIMO 系统理论一致。为什么说nt>nr ,因为一般来说,移动终端所支持的天线数目总是比基站端要少。 接收矢量为:y Hx n =+,即接收信号为信道衰落系数X 发射信号+接收端噪声 3、MIMO 系统容量分析: (附MIMO 系统容量分析程序) 香农公式的信道容量(即信息传送速率)为: 2log (1/)C B S N =+ 4、在MIMO 中计算信道容量分两种情况: 未知CSI 和已知CSI (CSI 即为信道状态信息),其公式推导较为复杂,推导结果为信道容量是信噪比与接收、发射天线的函数。 在推导已知CSI 中,常用的有waterfilling ,即著名的注水原理。但是,根据相关文献资料,通常情况下CSI 可以当做已知,因为发送,接收端会根据具体信道情况估算CSI 的相关参数。 在这里对注水原理做一个简单介绍:之所以成为注水原理是因为理想的注水原理是在噪声大的时候少分配功率,噪声小时多分配功率,最后噪声+功率=定值,这如果用图形来表示,则类似于给水池注水的时候,水池低的地方就多注水,也就是噪声小分配的功率就多,故称这种达到容量的功率分配方式叫做注水原理。通过给各个天线分配不同的发射功率,增加系统容量。核心思想就是上面所阐述的,信道条件好,则分配更多功率;信道条件差,则分配较少的功率。 在MIMO 的信道容量当中要注意几个问题:(下面说已知CSI 都是加入了估计CSI 的算法,并且采用了注水原理。) 1. 已知CSI 的情况下的信道容量要比发送端未知CSI 的情况下的信道容量高,这是 由于当发送端已知CSI 的时候,发送端可以优化发送信号的协方差矩阵。也就是

基于MATLAB的QPSK通信系统仿真设计毕业设计论文

基于MATLAB的QPSK通信系统仿真设计 摘要 随着移动通信技术的发展,以前在数字通信系统中采用FSK、ASK、PSK 等调制方式,逐渐被许多优秀的调制技术所替代。本文主要介绍了QPSK调制与解调的实现原理框图,用MATLAB软件中的SIMULINK仿真功能对QPSK调制与解调这一过程如何建立仿真模型,通过对仿真模型的运行,得到信号在QPSK 调制与解调过程中的信号时域变化图。通过该软件实现方式,可以大大提高设计的灵活性,节约设计时间,提高设计效率,从而缩小硬件电路设计的工作量,缩短开发周期。 关键词 QPSK,数字通信,调制,解调,SIMULINK -I-

Abstract As mobile communications technology, and previously in the adoption of digital cellular system, ASK, FSK PSK modulation, etc. Gradually been many excellent mod ulation technology substitution, where four phase-shift keying QPSK technology is a wireless communications technology in a binary modulation method. This article prim arily describes QPSK modulation and demodulation of the implementation of the prin ciple of block diagrams, focuses on the MATLAB SIMULINK software emulation in on QPSK modulation and demodulation the process how to build a simulation model, through the operation of simulation model, I get signal in QPSK modulation and dem odulation adjustment process domain change figure. The software implementation, ca n dramatically improve the design flexibility, saving design time, increase efficiency, design to reduce the workload of hardware circuit design, and shorten the developmen t cycle. Keywords QPSK, Digital Communication,modulation,demodulation,SIMULINK -II-

MATLAB通信系统仿真心得体会

MATLAB通信系统仿真心得体会 课程名称(中文) MATLAB通信系统仿真成绩姓名班级学号日期 学习MATLAB通信系统仿真心得体会 经过一学期的MATLAB通信系统仿真的学习,使我对通信原 理及仿真实践有了更深层次的理解。在学习过程当中,了解到了MATLAB的语言基础以及应用的界面环境,基本操作和语法,通信仿真工具箱的应用,simulink 仿真基础,信号系统分析等一系列的内容。我明白学好这门课程是非常的重要。 在学习当中,我首先明白了通信系统仿真的现实意义,系统模型是对实际系统的一种抽象,是对系统本质(或是系统的某种特性)的一种描述。模型可视为对真实世界中物体或过程的信息进行形式化的结果。模型具有与系统相似的特性,可以以各种形式给出我们所感兴趣的信息。知道了通信系统仿真的必要性,利用系统建模和软件仿真技术,我们几乎可以对所有的设计细节进行分层次的建模和评估。通过仿真技术和方法,我们可以有效地将数学分析模型和经验模型结合起来。利用系统仿真方法,可以迅速构建一个通信系统模型,提供一个便捷,高效和精确的评估平台。明白了MATLAB通信系统仿真课程重点就是系统仿真软件 Matlab / Simulink 在通信系统建模仿真和性能评估方面的应用原理,通信系统仿真的一般原理和方法。 MATLAB集成度高,使用方便,输入简捷,运算高效,内容丰富,并且很容易由用户自行扩展,与其它计算机语言相比, MATLAB有以下显著特点:1.MATLAB是一种解释性语言;2(变量的“多功能性”;3.运算符号的“多功能性”;4(人机界面适合科技人员;5(强大而简易的作图功能;6(智能化程度高;7(功能丰富,可扩展性强。在MATLAB的Communication Toolbox(通 信工具箱)中提供了许多仿真函数和模块,用于对通信系统进行仿真和分析。

基于matlab的QPSK与BPSK信号性能比较仿真

┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊ 目录 第一章概述 (1) 第二章QPSK通信系统原理与仿真 (1) 2.1 QPSK系统框图介绍 (1) 2.2QPSK信号的调制原理 (2) 2.2.1QPSK信号产生方法 (2) 2.2.2QPSK星座图 (2) 2.3QPSK解调原理及误码率分析 (3) 2.3.1QPSK解调方法 (3) 2.3.2QPSK系统误码率 (3) 2.4QPSK信号在AWGN信道下仿真 (4) 第三章BPSK通信系统原理与仿真 (4) 3.1BPSK信号的调制原理 (4) 3.2BPSK解调原理及误码率分析 (4) 第四章QPSK与BPSK性能比较 (5) 4.1QPSK与BPSK在多信道下比较仿真 (5) 4.1.1纵向比较分析 (5) 4.1.2横向比较分析 (7) 4.2仿真结果分析 (7) 4.2.1误码率分析 (7) 4.2.2频带利用率比较 (7) 附录 (8) 代码1 (8) 代码2 (8) 代码3 (10) 代码4 (12)

┊ ┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊ 第一章概述 QPSK是英文Quadrature Phase Shift Keying的缩略语简称,意为正交相移键控,是一种数字调制方式。它以其抗干扰性能强、误码性能好、频谱利用率高等优点,广泛应用于数字微波通信系统、数字卫星通信系统、宽带接人、移动通信及有线电视系统之中。 BPSK是英文Binary Phase Shift Keying的缩略语简称,意为二相相移键控,是利用偏离相位的复数波浪组合来表现信息键控移相方式的一种。它使用了基准的正弦波和相位反转的波浪,使一方为0,另一方为1,从而可以同时传送接受2值(1比特)的信息。 本文所研究的QPSK系统与二进制的BPSK系统相比,具有以下特点: 1.在传码率相同的情况下,四进制数字调制系统的信息速率是二进制系统的2倍。 2.在相同信息速率条件下,四进制数字调制系统的传码率是二进制系统的1/4倍,这一特 点使得四进制码元宽度是二进制码元宽度的2倍,码元宽度的加大,可增加每个码元的 能量,也可减小码间串扰的影响。 3.由于四进制码元速率比二进制的降低,所需信道带宽减小。 4.在接收系统输入信噪比相同的条件下,四进制数字调制系统的误码率要高于二进制系 统。 5.四进制数字调制系统较二进制系统复杂,常在信息速率要求较高的场合。 基于以上优点,在数字信号的调制方式中QPSK(Quadrature Phase Shift Keying)四相移键控是目前最常用的一种卫星数字信号调制方式,它具有较高的频谱利用率、较强的抗干扰性,在电路上实现也较为简单,因而被WCDMA和CDMA2000等第三代移动通信系统采用。 第二章QPSK通信系统原理与仿真 2.1 QPSK系统框图介绍 在图2.1的系统中,发送方,QPSK数据源采用随机生成,信源编码采用差分编码,编码后的信号经QPSK调制器,经由发送滤波器进入传输信道。 接收方,信号首先经过相位旋转,再经匹配滤波器解调,经阈值比较得到未解码的接收信号,差分译码后得到接收信号,与信源发送信号相比较,由此得到系统误码率,同时计算系统误码率的理论值,将系统值与理论值进行比较。 对于信道,这里选取的是加性高斯白噪声(Additive White Gaussian Noise)以及多径Rayleigh

MATLAB 2psk通信系统仿真报告

实验一 2PSK调制数字通信系统 一实验题目 设计一个采用2PSK调制的数字通信系统 设计系统整体框图及数学模型; 产生离散二进制信源,进行信道编码(汉明码),产生BPSK信号; 加入信道噪声(高斯白噪声); BPSK信号相干解调,信道解码; 系统性能分析(信号波形、频谱,白噪声的波形、频谱,信道编解 二实验基本原理 数字信号的传输方式分为基带传输和带通传输,在实际应用中,大多数信道具有带通特性而不能直接传输基带信号。为了使数字信号在带通信道中传输,必须使用数字基带信号对载波进行调制,以使信号与信道的特性相匹配。这种用数字基带信号控制载波,把数字基带信号变换为数字带通信号的过程称为数字调制。 数字调制技术的两种方法:①利用模拟调制的方法去实现数字式调制,即把数字调制看成是模拟调制的一个特例,把数字基带信号当做模拟信号的特殊情况处理;②利用数字信号的离散取值特点通过开关键控载波,从而实现数字调制。这种方法通常称为键控法,比如对载波的相位进行键控,便可获得相移键控(PSK)基本的调制方式。 图1 相应的信号波形的示例 1 0 1 调制原理 数字调相:如果两个频率相同的载波同时开始振荡,这两个频率同时达到正最大值,同时达到零值,同时达到负最大值,它们应处于"同相"状态;如果其中一个开始得迟了一点,就可能不相同了。如果一个达到正最大值时,另一个达到负最大值,则称为"反相"。一般把信号振荡一次(一周)作为360度。如果一个波比另一个波相差半个周期,我们说两个波的

相位差180度,也就是反相。当传输数字信号时,"1"码控制发0度相位,"0"码控制发180度相位。载波的初始相位就有了移动,也就带上了信息。 相移键控是利用载波的相位变化来传递数字信息,而振幅和频率保持不变。在2PSK中,通常用初始相位0和π分别表示二进制“1”和“0”。因此,2PSK信号的时域表达式为(t)=Acos t+) 其中,表示第n个符号的绝对相位: = 因此,上式可以改写为 图2 2PSK信号波形 解调原理 2PSK信号的解调方法是相干解调法。由于PSK信号本身就是利用相位传递信息的,所以在接收端必须利用信号的相位信息来解调信号。下图2-3中给出了一种2PSK信号相干接收设备的原理框图。图中经过带通滤波的信号在相乘器中与本地载波相乘,然后用低通滤波器滤除高频分量,在进行抽样判决。判决器是按极性来判决的。即正抽样值判为1,负抽样值判为0. 2PSK信号相干解调各点时间波形如图 3 所示. 当恢复的相干载波产生180°倒相时,解调出的数字基带信号将与发送的数字基带信号正好是相反,解调器输出数字基带信号全部出错.

QPSK通信系统性能分析与MATLAB仿真报告

淮海工学院课程设计报告书 课程名称:通信系统的计算机仿真设计 题目:QPSK通信系统性能分析 与MATLAB仿真 学院:电子工程学院 学期:2013-2014-2 专业班级: 姓名: 学号: 评语: 成绩: 签名: 日期:

QPSK通信系统性能分析与MATLAB仿真 1 绪论 1.1 研究背景与研究意义 数字信号传输系统分为基带传输系统和频带传输系统,频带传输系统也叫数字调制系统,该系统对基带信号进行调制,使其频谱搬移到适合在信道(一般为带通信道)上传输的频带上。数字调制和模拟调制一样都是正弦波调制,即被调制信号都为高频正弦波。数字调制信号又称为键控信号,数字调制过程中处理的是数字信号,而载波有振幅、频率和相位3个变量,且二进制的信号只有高低电平两个逻辑量即1和0,所以调制的过程可用键控的方法由基带信号对载频信号的振幅、频率及相位进行调制,最基本的方法有3种:正交幅度调制(QAM) 、频移键控( FSK) 、相移键控( PSK) 。根据所处理的基带信号的进制不同分为二进制和多进制调制(M进制) 。 本实验采用QPSK。QPSK是英文Quadrature Phase Shift Keying的缩略语简称,意为正交相移键控,是一种数字调制方式。在19世纪80年代初期人们选用恒定包络数字调制。这类数字调制技术的优点是已调信号具有相对窄的功率谱和对放大设备没有线性要求不足之处是其频谱利用率低于线性调制技术。19世纪80年代中期以后四相绝对移相键控(QPSK)技术以其抗干扰性能强、误码性能好、频谱利用率高等优点广泛应用于数字微波通信系统、数字卫星通信系统、宽带接入、移动通信及有线电视系统之中。 1.2 课程设计的目的和任务 目的在于使学生在课程设计过程中能够理论联系实际,在实践中充分利用所学理论知识分析和研究设计过程中出现的各类技术问题,巩固和扩大所学知识面,为以后走向工作岗位进行设计打下一定的基础。 课程设计的任务是: (1)掌握一般通信系统设计的过程,步骤,要求,工作内容及设计方法,掌握用计算机仿真通信系统的方法。 (2)训练学生网络设计能力。 (3)训练学生综合运用专业知识的能力,提高学生进行通信工程设计的能力。1.3 可行性分析 QPSK是英文Quadrature Phase Shift Keying的缩略语简称,意为正交相移键控,是一种数字调制方式。在19世纪80年代初期,人们选用恒定包络数字调制。这类数字调制技术的优点是已调信号具有相对窄的功率谱和对放大设备没有线性要求,不足之处是其频谱利用率低于线性调制技术。19世纪80年代中期以后,

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 on plot(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; %%根据抽样时间间隔进行抽样

基于MATLAB的QPSK系统仿真设计与实现

通信系统仿真设计实训报告1.课题名称:基于 MATLAB 的QPSK系统仿真设计与实现 学生学号: 学生: 所在班级: 任课教师: 2016年 10月25日

目录 1.1QPSK系统的应用背景简介 (3) 1.2 QPSK实验仿真的意义 (3) 1.3 实验平台和实验容 (3) 1.3.1实验平台 (3) 1.3.2实验容 (3) 二、系统实现框图和分析 (4) 2.1、QPSK调制部分, (4) 2.2、QPSK解调部分 (5) 三、实验结果及分析 (6) 3.1、理想信道下的仿真 (6) 3.2、高斯信道下的仿真 (7) 3.3、先通过瑞利衰落信道再通过高斯信道的仿真 (8) 总结: (10) 参考文献: (11) 附录 (12)

1.1QPSK系统的应用背景简介 QPSK是英文Quadrature Phase Shift Keying的缩略语简称,意为正交相移键控,是一种数字调制方式。在19世纪80年代初期,人们选用恒定包络数字调制。这类数字调制技术的优点是已调信号具有相对窄的功率谱和对放大设备没有线性要求,不足之处是其频谱利用率低于线性调制技术。19世纪80年代中期以后,四相绝对移相键控(QPSK)技术以其抗干扰性能强、误码性能好、频谱利用率高等优点,广泛应用于数字微波通信系统、数字卫星通信系统、宽带接入、移动通信及有线电视系统之中。 1.2 QPSK实验仿真的意义 通过完成设计容,复习QPSK调制解调的基本原理,同时也要复习通信系统的主要组成部分,了解调制解调方式中最基础的方法。了解QPSK的实现方法及数学原理。并对“通信”这个概念有个整体的理解,学习数字调制中误码率测试的标准及计算方法。同时还要复习随机信号中时域用自相关函数,频域用功率谱密度来描述平稳随机过程的特性等基础知识,来理解高斯信道中噪声的表示方法,以便在编程中使用。 理解QPSK调制解调的基本原理,并使用MATLAB编程实现QPSK信号在高斯信道和瑞利衰落信道下传输,以及该方式的误码率测试。复习MATLAB编程的基础知识和编程的常用算法以及使用MATLAB仿真系统的注意事项,并锻炼自己的编程能力,通过编程完成QPSK调制解调系统的仿真,以及误码率测试,并得出响应波形。在完成要求任务的条件下,尝试优化程序。 通过本次实验,除了和队友培养了默契学到了知识之外,还可以将次实验作为一种推广,让更多的学生来深入一层的了解QPSK以至其他调制方式的原理和实现方法。可以方便学生进行测试和对比。足不出户便可以做实验。 1.3 实验平台和实验容 1.3.1实验平台 本实验是基于Matlab的软件仿真,只需PC机上安装MATLAB 6.0或者以上版本即可。 (本实验附带基于Matlab Simulink (模块化)仿真,如需使用必须安装simulink 模块) 1.3.2实验容 1.构建一个理想信道基本QPSK仿真系统,要求仿真结果有 a.基带输入波形及其功率谱 b.QPSK信号及其功率谱

(完整版)基于matlab的通信系统仿真毕业论文

创新实践报告
报 告 题 目: 学 院 名 称: 姓 名:
基于 matlab 的通信系统仿真 信息工程学院 余盛泽
班 级 学 号: 指 导 老 师: 温 靖

二 O 一四年十月十五日
目录
一、引言........................................................................................................................ 3 二、仿真分析与测试 ................................................................................................... 4
2.1 随机信号的生成 ............................................................................................................... 4 2.2 信道编译码 ........................................................................................................................ 4 2.2.1 卷积码的原理 ........................................................................................................ 4 2.2.2 译码原理 ................................................................................................................ 5 2.3 调制与解调 ....................................................................................................................... 5 2.3.1 BPSK 的调制原理 .................................................................................................. 5 2.3.2 BPSK 解调原理 ...................................................................................................... 6 2.3.3 QPSK 调制与解调 ................................................................................................. 7 2.4 信道 .................................................................................................................................... 8

基于matlab的通信系统仿真

创新实践报告 报告题目: 基于matlab的通信系统仿真学院名称: 信息工程学院 姓名: 班级学号: 指导老师: 二O一四年十月十五日

一、引言 现代社会发展要求通信系统功能越来越强,性能越来越高,构成越来越复杂;另一方面,要求通信系统技术研究与产品开发缩短周期,降低成本,提高水平。这样尖锐对立的两个方面的要求,只有通过使用强大的计算机辅助分析设计技术与工具才能实现。在这种迫切的需求之下,MA TLAB应运而生。它使得通信系统仿真的设计与分析过程变得相对直观与便捷,由此也使得通信系统仿真技术得到了更快的发展。通信系统仿真贯穿着通信系统工程设计的全过程,对通信系统的发展起着举足轻重的作用。通信系统仿真具有广泛的适应性与极好的灵活性,有助于我们更好地研究通信系统性能。通信系统仿真的基本步骤如下图所示: 二、仿真分析与测试 (1)随机信号的生成 利用Matlab中自带的函数randsrc来产生0、1等概分布的随机信号。源代码如下所示: global N N=300; global p

p=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、译码原理 卷积码译码方法主要有两类:代数译码与概率译码。代数译码主要根据码本身的代数特性进行译码,而信道的统计特性并没有考虑在内。目前,代数译码的主要代表就是大数逻辑解码。该译码方法对于约束长度较短的卷积码有较好的效果,并且设备较简单。概率译码,又称最大似然译码,就是基于信道的统计特性与卷积 码的特点进行计算。在现代通信系统中,维特比译码就是目前使用最广泛的概率 译码方法。 02 1V D D =⊕01232V D D D D =⊕⊕⊕

毕业设计基于matlab的QPSK系统仿真

基于MATLAB的QPSK仿真设计与实现 一.前言 1.1QPSK系统的应用背景简介 QPSK是英文Quadrature Phase Shift Keying的缩略语简称,意为正交相移键控,是一种数字调制方式。在19世纪80年代初期,人们选用恒定包络数字调制。这类数字调制技术的优点是已调信号具有相对窄的功率谱和对放大设备没有线性要求,不足之处是其频谱利用率低于线性调制技术。19世纪80年代中期以后,四相绝对移相键控(QPSK)技术以其抗干扰性能强、误码性能好、频谱利用率高等优点,广泛应用于数字微波通信系统、数字卫星通信系统、宽带接入、移动通信及有线电视系统之中。 1.2 QPSK实验仿真的意义 通过完成设计内容,复习QPSK调制解调的基本原理,同时也要复习通信系统的主要组成部分,了解调制解调方式中最基础的方法。了解QPSK的实现方法及数学原理。并对“通信”这个概念有个整体的理解,学习数字调制中误码率测试的标准及计算方法。同时还要复习随机信号中时域用自相关函数,频域用功率谱密度来描述平稳随机过程的特性等基础知识,来理解高斯信道中噪声的表示方法,以便在编程中使用。 理解QPSK调制解调的基本原理,并使用MATLAB编程实现QPSK信号在高斯信道和瑞利衰落信道下传输,以及该方式的误码率测试。复习MATLAB编程的基础知识和编程的常用算法以及使用MATLAB仿真系统的注意事项,并锻炼自己的编程能力,通过编程完成QPSK调制解调系统的仿真,以及误码率测试,并得出响应波形。在完成要求任务的条件下,尝试优化程序。 通过本次实验,除了和队友培养了默契学到了知识之外,还可以将次实验作为一种推广,让更多的学生来深入一层的了解QPSK以至其他调制方式的原理和实现方法。可以方便学生进行测试和对比。足不出户便可以做实验。 1.3 实验平台和实验内容 1.3.1实验平台 本实验是基于Matlab的软件仿真,只需PC机上安装MATLAB 6.0或者以上版本即可。 (本实验附带基于Matlab Simulink (模块化)仿真,如需使用必须安装simulink 模块) 1.3.2实验内容 1.构建一个理想信道基本QPSK仿真系统,要求仿真结果有 a.基带输入波形及其功率谱 b.QPSK信号及其功率谱 c.QPSK信号星座图 2.构建一个在AWGN(高斯白噪声)信道条件下的QPSK仿真系统,要求仿真结果有

基于matlab的通信系统仿真要点

创新实践报告 报告题目:基于matlab的通信系统仿真学院名称:信息工程学院 姓名: 班级学号: 指导老师: 二O一四年十月十五日

一、引言 现代社会发展要求通信系统功能越来越强,性能越来越高,构成越来越复杂;另一方面,要求通信系统技术研究和产品开发缩短周期,降低成本,提高水平。这样尖锐对立的两个方面的要求,只有通过使用强大的计算机辅助分析设计技术和工具才能实现。在这种迫切的需求之下,MATLAB应运而生。它使得通信系统仿真的设计和分析过程变得相对直观和便捷,由此也使得通信系统仿真技术得到了更快的发展。通信系统仿真贯穿着通信系统工程设计的全过程,对通信系统的发展起着举足轻重的作用。通信系统仿真具有广泛的适应性和极好的灵活性,有助于我们更好地研究通信系统性能。通信系统仿真的基本步骤如下图所示:

二、仿真分析与测试 (1)随机信号的生成 利用Matlab 中自带的函数randsrc 来产生0、1等概分布的随机信号。源代码如下所示: global N N=300; global p p=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 D0D2D1D3 + + M V1 V2 OUT 02 1V D D =⊕0123 2V D D D D =⊕⊕⊕

MATLAB对QPSK通信系统的仿真

QPSK通信系统的性能分析与matlab仿真 1 绪论 在当今高度信息化的社会,信息和通信已成为现代社会的“命脉”。信息作为一种资源,只有通过广泛地传播与交流,才能促进社会成员之间的合作,推动生产力的发展,创造出巨大的经济效益。在新技术革命的高速推动和信息高速公路的建设,全球网络化发展浪潮的推动下,通信技术得到迅猛的发展,载波通信、卫星通信和移动通信技术正在向数字化、智能化、宽带化发展。Simulink具有适应面广、结构和流程清晰及仿真精细、效率高、贴近实际、等优点,基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。同时有大量的第三方软件和硬件应用于Simulink。本文设计出一个QPSK仿真模型,以分析QPSK在高斯信道中的性能,通过此次课程设计,更好地了解QPSK系统的工作原理,传输比特错误率和符号错误率的计算。 1.1 研究背景与研究意义 1.1.1 研究背景 在当今高度信息化的社会,信息和通信已成为现代社会的“命脉”。信息作为一种资源,只有通过广泛地传播与交流,才能促进社会成员之间的合作,推动生产力的发展,创造出巨大的经济效益。信息的数字转换处理技术走向成熟,为大规模、多领域的信息产品制造和信息服务创造了条件。高新技术层出不穷。随着通信技术的发展,通信系统方面的设计也会越来越复杂,利用计算机软件的仿真,可以大大地降低通信过程中的实验成本。Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中只

要通过简单的鼠标操作,就可以构造出复杂的系统。Simulink提供了一个建立模型方块图的图形用户接口,这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。 1.1.2研究意义 通过完成实验的设计内容,加深对通信原理理论的理解,熟悉通信系统的基本概念,复习正交相位偏移键控(QPSK)调制解调的基本原理和误比特率的计算方法,了解调制解调方式中最基础的方法。包括模拟调制中的幅度调制(AM)如双边带幅度调制(DSB)、单边带幅度调制(SSB)、常规幅度调制;角度调制中的相位调制(FM)和频率调制(PM)。以及数字调制中的幅度调制,相位调制,频率调制等方式,了解QPSK的实现方法及数学原理,掌握通信系统Simulink仿真建模方法。数字通信之所以取得迅速的发展不是偶然的现象, 有其理论上、技术上和客观需求上的基础从理论分析开始, 人们早就认识到数字通信在理论上比模拟通信具有一系列优点。除上述各点外, 在频带和功率的有效利用方面也更为有利计算技术和微电子学的进展为通信的数字化提供了坚实的技术基础人们在社会生活中对多种功能综合服务的需要是数字通信发展的强大动力。 1.2 课程设计的目的和任务 1.2.1 课程设计的目的 本次课程设计是根据“通信工程专业培养计划”要求而制定的。通信系统的计算机仿真设计课程设计是通信工程专业的学生在学完通信工程专业基础课、通信工程专业主干课及科学计算与仿真专业课后进行的综合性课程设计。其目的在于使学生在课程设计过程中能够理论联系实际,在实践中充分利用所学理论知识分析和研究设计过程中出现的各类技术问题,巩固和扩大所学知识面,为以后走向工作岗位进行设计打下一定的基础。 1.2.2课程设计的任务 (1)掌握一般通信系统设计的过程、步骤、要求、工作内容及设计方法;掌握

基于MATLAB的OQPSK调制解调实现课程设计

翼蹴g调制解调

基于MATLAB的OQPSK调制解调实现 摘要本课程设计的目标在于深切理解OQPSK调制与解调的基本原理,学会使用MATALB软件中的M文件来实现OQPSK的调制与解调以及分析加入不同噪声时对信号的影响程度。首先产生一个数字基带信号,接下来调用MATLAB中的相应函数对这个基带信号进行调制,然后分析调制后的波形:,记录结果后对调制后的信号进行解调, 观察解调结果并做好记录,最后在信号中加入噪声并观察其时频图的变化,分析信噪比的噪声对调制结果的影响。本课程设计的实验开发/运行平台为windowsXP/windows7, 程序设计使用MATLAB语言。通过调试运行,基本完成设计目标,达到调制与解调的目的。 关键词:MATLAB; M文件;OQPSK;调制与解调;噪声 1引言 数字调制与解调技术在数字通信中占有非常重要的地位,数字通信技术与MATLAB的结合是现代通信系统发展的一个必然趋势。在数字信号通信过程中,噪声的影响往往比较大,同时我们都希望有较高的频带利用率和功率利用率,而OQPSK也是一种恒包络调制技术,其频谱特性好,既保留着2PSK的高抗噪声性能、高频带利用率和高功率利用率,又有效地减弱了2PSK的“反相工作”缺陷,在通信研究中有着非常重要的意义,特别是在卫星通信和移动通信的领域有着广泛的应用。MATLAB作为当前国际控制界最流行的面向工程与科学计算的高级语言,在控制系统的分析、仿真与

设计方面得到了非常广泛的应用,随着其信号处理专业函数和专业工具箱的成熟,越来越受到通信领域人士的欢迎,其在通信领域的应用也将更加广泛。 i?i课程设计目的 熟悉OQPSK的基本原理,掌握MATLAB中M文件的使用及相关函数的调用方法,在此基础上通过编程实现OQPSK的调制与解调,并通过加入的噪声来判断所设计的系统性能。这次课程设计不仅让我对OQPSK有了更加深入的了解,而且学会了如何利用MATLAB中的M文件来实现通信系统方面的应用,最重要的是,自己能够独立 完成一个小项目了,有了这方面的经验,我在以后的学习中就会有更充足的信心和动力。 1.2课程设计要求 熟悉MATLAB中M文件的使用方法,并在深切理解OQPSK调制解调原理的基础上,编写出OQPSK调制解调程序。绘制出OQPSK信号解调前后在时域和频域中的波形,并观察解调前后频谱有何变化以加深对OQPSK信号解调原理的理解。分别对信号叠加不同噪声,并进行解调,绘制出解调前后信号的时频波形,分析不同噪声对信号传输造成的影响大小。 1.3课程设计步骤 先产生随机信号,然后对信号进行调制和解调,在调制和解调过程中加入高斯白噪声,观察现象。 1、产生四进制数字作为数字基带信号,对其进行调制;

相关文档
相关文档 最新文档