文档库 最新最全的文档下载
当前位置:文档库 › 通信原理基于matlab的计算机仿真

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

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

例1-1

%周期信号(方波)的展开,fb_jinshi.m

close 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:N

ft = ft + Fn(m+N+1)*exp(j*2*pi*m*fs*t);

end

plot(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 spectrum

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);

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

function [t st]=F2T(f,sf)

%This function calculate the time signal using ifft function for the input %signal's spectrum

df = 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.m

clear 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.m

clear 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.m

clear 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.m

clear 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.m

clear 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 samples

df = 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 modulation

s_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 demodulation

rt = 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 samples

df = 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 modulation

A=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 demodulation

rt = 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 modulation

s_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 demodulation

rt = 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 modulation

s_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

rt = s_vsb.*cos(2*pi*fc*t);

[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 samples

df = 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;

mt = sqrt(2)*cos(2*pi*fm*t);

N0 = 0.1;

%AM modulation

A=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 demodulation

rt = s_am.*cos(2*pi*fc*t);

rt = rt-mean(rt);

[f,rf] = T2F(t,rt);

[t,rt] = lpf(f,rf,2*fm);

title('AM信号');xlabel('t');

subplot(322)

plot(t,rt); hold on;

plot(t,mt/2,'r--');

title('AM解调信号');xlabel('t');

%DSB modulation

s_dsb = mt.*cos(2*pi*fc*t);

B=2*fm;

noise = noise_nb(fc,B,N0,t);

s_dsb=s_dsb+noise;

subplot(323)

plot(t,s_dsb);hold on;

plot(t,mt,'r--');

title('DSB信号');xlabel('t');

%DSB demodulation

rt = s_dsb.*cos(2*pi*fc*t);

rt = rt-mean(rt);

[f,rf] = T2F(t,rt);

[t,rt] = lpf(f,rf,2*fm);

subplot(324)

plot(t,rt); hold on;

plot(t,mt/2,'r--');

title('DSB解调信号');xlabel('t');

%SSB modulation

s_ssb = real( hilbert(mt).*exp(j*2*pi*fc*t) );

B=fm;

noise = noise_nb(fc,B,N0,t);

s_ssb=s_ssb+noise;

subplot(325)

plot(t,s_ssb);

title('SSB信号');xlabel('t');

%SSB demodulation

rt = s_ssb.*cos(2*pi*fc*t);

rt = rt-mean(rt);

[f,rf] = T2F(t,rt);

[t,rt] = lpf(f,rf,2*fm);

subplot(326)

plot(t,rt); hold on;

plot(t,mt/2,'r--');

title('SSB解调信号');xlabel('t');

function [out] = noise_nb(fc,B,N0,t)

%output the narrow band gaussian noise sample with single-sided power spectrum N0 %at carrier frequency equals fc and bandwidth euqals B

dt = t(2)-t(1);

Fmx = 1/dt;

n_len = length(t);

p = N0*Fmx;

rn = sqrt(p)*randn(1,n_len);

[f,rf] = T2F(t,rn);

[t,out] = bpf(f,rf,fc-B/2,fc+B/2);

%FM modulation and demodulation,mfm.m

clear all;

close all;

Kf = 5;

fc = 10;

T=5;

dt=0.001;

t = 0:dt:T;

%信源

fm= 1;

%mt = cos(2*pi*fm*t) + 1.5*sin(2*pi*0.3*fm*t); %信源信号

mt = cos(2*pi*fm*t); %信源信号

%FM 调制

A = sqrt(2);

%mti = 1/2/pi/fm*sin(2*pi*fm*t) -3/4/pi/0.3/fm*cos(2*pi*0.3*fm*t); %mt的积分函数

mti = 1/2/pi/fm*sin(2*pi*fm*t) ; %mt的积分函数

st = A*cos(2*pi*fc*t + 2*pi*Kf*mti);

figure(1)

subplot(311);

plot(t,st); hold on;

plot(t,mt,'r--');

xlabel('t');ylabel('调频信号')

subplot(312)

[f sf] = T2F(t,st);

plot(f, abs(sf));

axis([-25 25 0 3])

xlabel('f');ylabel('调频信号幅度谱')

%FM 解调

for k=1:length(st)-1

rt(k) = (st(k+1)-st(k))/dt;

end

rt(length(st))=0;

subplot(313)

plot(t,rt); hold on;

plot(t,A*2*pi*Kf*mt+A*2*pi*fc,'r--');

xlabel('t');ylabel('调频信号微分后包络')

%数字基带信号的功率谱密度 digit_baseband.m

clear all; close all;

Ts=1;

N_sample = 8; %每个码元的抽样点数

dt = Ts/N_sample; %抽样时间间隔

N = 1000; %码元数

t = 0:dt:(N*N_sample-1)*dt;

gt1 = ones(1,N_sample); %NRZ非归零波形

gt2 = ones(1,N_sample/2); %RZ归零波形

gt2 = [gt2 zeros(1,N_sample/2)];

mt3 = sinc((t-5)/Ts); % sin(pi*t/Ts)/(pi*t/Ts)波形,截段取10个码元gt3 = mt3(1:10*N_sample);

d = ( sign( randn(1,N) ) +1 )/2;

data = sigexpand(d,N_sample); %对序列间隔插入N_sample-1个0

st1 = conv(data,gt1); %Matlab自带卷积函数

st2 = conv(data,gt2);

d = 2*d-1; %变成双极性序列

data= sigexpand(d,N_sample);

st3 = conv(data,gt3);

[f,st1f] = T2F(t,[st1(1:length(t))]);

[f,st2f] = T2F(t,[st2(1:length(t))]);

[f,st3f] = T2F(t,[st3(1:length(t))]);

figure(1)

subplot(321)

plot(t,[st1(1:length(t))] );grid

axis([0 20 -1.5 1.5]);ylabel('单极性NRZ波形');

subplot(322);

plot(f,10*log10(abs(st1f).^2/T) );grid

axis([-5 5 -40 10]); ylabel('单极性NRZ功率谱密度(dB/Hz)');

subplot(323)

plot(t,[st2(1:length(t))] );

axis([0 20 -1.5 1.5]);grid

ylabel('单极性RZ波形');

subplot(324)

plot(f,10*log10(abs(st2f).^2/T));

axis([-5 5 -40 10]);grid

ylabel('单极性RZ功率谱密度(dB/Hz)');

subplot(325)

plot(t-5,[st3(1:length(t))] );

axis([0 20 -2 2]);grid

ylabel('双极性sinc波形');xlabel('t/Ts');

subplot(326)

plot(f,10*log10(abs(st3f).^2/T));

axis([-5 5 -40 10]);grid

ylabel('sinc波形功率谱密度(dB/Hz)');xlabel('f*Ts');

function [out]=sigexpand(d,M)

%将输入的序列扩展成间隔为N-1个0的序列

N = length(d);

out = zeros(M,N);

out(1,:) = d;

out = reshape(out,1,M*N);

例2-4

%数字基带信号接收示意 digit_receive.m

clear all;

close all;

N =100;

N_sample=8; %每码元抽样点数

Ts=1;

dt = Ts/N_sample;

t=0:dt:(N*N_sample-1)*dt;

gt = ones(1,N_sample); %数字基带波形

d = sign(randn(1,N)); %输入数字序列

a = sigexpand(d,N_sample);

st = conv(a,gt); %数字基带信号

ht1 = gt;

rt1 = conv(st,ht1);

ht2 = 5*sinc(5*(t-5)/Ts);

rt2 = conv(st,ht2);

figure(1)

subplot(321)

plot( t,st(1:length(t)) );

axis([0 20 -1.5 1.5]); ylabel('输入双极性NRZ数字基带波形'); subplot(322)

stem( t,a);

axis([0 20 -1.5 1.5]); ylabel('输入数字序列')

subplot(323)

plot( t,[0 rt1(1:length(t)-1)]/8 );

axis([0 20 -1.5 1.5]);ylabel('方波滤波后输出');

subplot(324)

dd = rt1(N_sample:N_sample:end);

ddd= sigexpand(dd,N_sample);

stem( t,ddd(1:length(t))/8 );

axis([0 20 -1.5 1.5]);ylabel('方波滤波后抽样输出');

subplot(325)

plot(t-5, [0 rt2(1:length(t)-1)]/8 );

axis([0 20 -1.5 1.5]);

xlabel('t/Ts'); ylabel('理想低通滤波后输出');

subplot(326)

dd = rt2(N_sample-1:N_sample:end);

ddd=sigexpand(dd,N_sample);

stem( t-5,ddd(1:length(t))/8 );

axis([0 20 -1.5 1.5]);

xlabel('t/Ts'); ylabel('理想低通滤波后抽样输出');

例2-5

%部分响应信号眼图示意,pres.m

clear all; close all;

Ts=1;

N_sample=16;

eye_num = 11;

N_data=1000;

dt = Ts/N_sample;

t = -5*Ts:dt:5*Ts;

%产生双极性数字信号

d = sign(randn(1,N_data));

dd= sigexpand(d,N_sample);

%部分响应系统冲击响应

ht = sinc((t+eps)/Ts)./(1- (t+eps)./Ts);

ht( 6*N_sample+1 ) = 1;

st = conv(dd,ht);

tt = -5*Ts:dt:(N_data+5)*N_sample*dt-dt;

figure(1)

subplot(211);

plot(tt,st);

axis([0 20 -3 3]);xlabel('t/Ts');ylabel('部分响应基带信号'); subplot(212)

%画眼图

ss=zeros(1,eye_num*N_sample);

ttt = 0:dt:eye_num*N_sample*dt-dt;

for k=5:50

ss = st(k*N_sample+1:(k+eye_num)*N_sample);

drawnow;

plot(ttt,ss); hold on;

end

%plot(ttt,ss);

xlabel('t/Ts');ylabel('部分响应信号眼图');

例2-6

%2ASK,2PSK,文件名binarymod.m

clear all;

close all;

A=1;

fc = 2; %2Hz;

N_sample = 8;

N = 500; %码元数

Ts = 1; %1 baud/s

dt = Ts/fc/N_sample; %波形采样间隔

t = 0:dt:N*Ts-dt;

Lt = length(t);

%产生二进制信源

d = sign(randn(1,N));

dd = sigexpand((d+1)/2,fc*N_sample);

gt = ones(1,fc*N_sample); %NRZ波形

figure(1)

subplot(221); %输入NRZ信号波形(单极性)

d_NRZ = conv(dd,gt);

plot(t,d_NRZ(1:length(t)));

axis([0 10 0 1.2]); ylabel('输入信号');

subplot(222); %输入NRZ频谱

[f,d_NRZf]=T2F( t,d_NRZ(1:length(t)) );

plot(f,10*log10(abs(d_NRZf).^2/T));

axis([-2 2 -50 10]);ylabel('输入信号功率谱密度(dB/Hz)');

%2ASK信号

ht = A*cos(2*pi*fc*t);

s_2ask = d_NRZ(1:Lt).*ht;

subplot(223)

plot(t,s_2ask);

axis([0 10 -1.2 1.2]); ylabel('2ASK');

[f,s_2askf]=T2F(t,s_2ask );

subplot(224)

plot(f,10*log10(abs(s_2askf).^2/T));

axis([-fc-4 fc+4 -50 10]);ylabel('2ASK功率谱密度(dB/Hz)');

figure(2)

%2PSK信号

d_2psk = 2*d_NRZ-1;

s_2psk = d_2psk(1:Lt).*ht;

subplot(221)

plot(t,s_2psk);

axis([0 10 -1.2 1.2]); ylabel('2PSK');

subplot(222)

[f,s_2pskf] = T2F(t,s_2psk);

plot( f,10*log10(abs(s_2pskf).^2/T) );

axis([-fc-4 fc+4 -50 10]);ylabel('2PSK功率谱密度(dB/Hz)');

% 2FSK

% s_2fsk = Acos(2*pi*fc*t + int(2*d_NRZ-1) );

sd_2fsk = 2*d_NRZ-1;

s_2fsk = A*cos(2*pi*fc*t + 2*pi*sd_2fsk(1:length(t)).*t );

subplot(223)

plot(t,s_2fsk);

axis([0 10 -1.2 1.2]);xlabel('t'); ylabel('2FSK')

subplot(224)

[f,s_2fskf] = T2F(t,s_2fsk);

plot(f,10*log10(abs(s_2fskf).^2/T));

axis([-fc-4 fc+4 -50 10]);xlabel('f');ylabel('2FSK功率谱密度(dB/Hz)');

例2-7

%QPSK & OQPSK

clear all;

close all;

M = 4;

Ts= 1;

fc= 10;

N_sample = 16;

N_num = 100;

dt = 1/fc/N_sample;

t = 0:dt:N_num*Ts-dt;

T = dt*length(t);

py1f = zeros(1,length(t)); %功率谱密度1

py2f = zeros(1,length(t)); %功率谱密度2

for PL=1:100 %输入100段N_num个码字的波形,为了使功率谱密度看起来更加平滑,%可以取这100段信号功率谱密度的平均

d1 = sign(randn(1,N_num));

d2 = sign(randn(1,N_num));

gt = ones(1,fc*N_sample);

%QPSK调制

s1 = sigexpand(d1,fc*N_sample);

s2 = sigexpand(d2,fc*N_sample);

b1 = conv(s1,gt);

b2 = conv(s2,gt);

s1 = b1(1:length(s1));

s2 = b2(1:length(s2));

st_qpsk = s1.*cos(2*pi*fc*t) - s2.*sin(2*pi*fc*t);

s2_delay= [-ones(1,N_sample*fc/2) s2(1:end-N_sample*fc/2)];

st_oqpsk= s1.*cos(2*pi*fc*t) - s2_delay.*sin(2*pi*fc*t);

%经过带通后,再经过非线性电路

[f y1f] = T2F(t,st_qpsk);

[f y2f] = T2F(t,st_oqpsk);

[t y1] = bpf(f,y1f,fc-1/Ts,fc+1/Ts);

[t y2] = bpf(f,y2f,fc-1/Ts,fc+1/Ts);

subplot(221);

通信原理课程设计报告(基于Matlab)

2DPSK调制与解调系统的仿真 设计原理 (1) 2DPSK信号原理 1.1 2DPSK信号原理 2DPSK方式即是利用前后相邻码元的相对相位值去表示数字信息的一种方式。现假设用Φ表示本码元初相与前一码元初相之差,并规定:Φ=0表示0码,Φ=π表示1码。则数字信息序列与2DPSK信号的码元相位关系可举例表示如2PSK信号是用载波的不同相位直接去表示相应的数字信号而得出的,在接收端只能采用相干解调,它的时域波形图如图2.1所示。 图1.1 2DPSK信号 在这种绝对移相方式中,发送端是采用某一个相位作为基准,所以在系统接收端也必须采用相同的基准相位。如果基准相位发生变化,则在接收端回复的信号将与发送的数字信息完全相反。所以在实际过程中一般不采用绝对移相方式,而采用相对移相方式。定义为本码元初相与前一码元初相之差,假设: →数字信息“0”; →数字信息“1”。 则数字信息序列与2DPSK信号的码元相位关系可举例表示如下: 数字信息: 1 0 1 1 0 1 1 1 0 1 DPSK信号相位:0

或 : 1.2 2DPSK 信号的调制原理 一般来说,2DPSK 信号有两种调试方法,即模拟调制法和键控法。2DPSK 信号的的模拟调制法框图如图1.2.1所示,其中码变换的过程为将输入的单极性不归零码转换为双极性不归零码。 图1.2.1 模拟调制法 2DPSK 信号的的键控调制法框图如图1.2.2所示,其中码变换的过程为将输入的基带信号差分,即变为它的相对码。选相开关作用为当输入为数字信息“0” 时接相位0,当输入数字信息为“1”时接pi 。 图1.2.2 键控法调制原理图 1.3 2DPSK 信号的解调原理 2DPSK 信号最常用的解调方法有两种,一种是极性比较和码变换法,另一种是差分相干解调法。 码变换 相乘 载波 s(t) e o (t)

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);

通信原理实验--数字基带传输仿真实验

数字基带传输实验 实验报告

一、实验目的 1、提高独立学习的能力; 2、培养发现问题、解决问题和分析问题的能力; 3、学习Matlab 的使用; 4、掌握基带数字传输系统的仿真方法; 5、熟悉基带传输系统的基本结构; 6、掌握带限信道的仿真以及性能分析; 7、通过观测眼图和星座图判断信号的传输质量。 二、系统框图及编程原理 1.带限信道的基带系统模型(连续域分析) ?输入符号序列―― ?发送信号―― ――比特周期,二进制码元周期 ?发送滤波器―― 或或 ?发送滤波器输出――

?信道输出信号或接收滤波器输入信号 (信道特性为1) ?接收滤波器―― 或或 ?接收滤波器的输出信号 其中 (画出眼图) ?如果位同步理想,则抽样时刻为 ?抽样点数值为(画出星座图) ?判决为 2.升余弦滚降滤波器 式中称为滚降系数,取值为, 是常数。时,带宽为Hz;时,带宽为Hz。此频率特性在内可以叠加成一条直线,故系统无码间干扰传输的最小符号间隔为s,或无码间干扰传输的最大符号速率为Baud。

相应的时域波形为 此信号满足 在理想信道中,,上述信号波形在抽样时刻上无码间干扰。 如果传输码元速率满足,则通过此基带系统后无码间干扰。 3.最佳基带系统 将发送滤波器和接收滤波器联合设计为无码间干扰的基带系统,而且具有最佳的抗加性高斯白噪声的性能。 要求接收滤波器的频率特性与发送信号频谱共轭匹配。由于最佳基带系统的总特性是确定的,故最佳基带系统的设计归结为发送滤波器和接收滤波器特性的选择。 设信道特性理想,则有

(延时为0) 有 可选择滤波器长度使其具有线性相位。 如果基带系统为升余弦特性,则发送和接收滤波器为平方根升余弦特性。 由模拟滤波器设计数字滤波器的时域冲激响应 升余弦滤波器(或平方根升余弦滤波器)的带宽为,故其时域抽样速率至少为,取,其中为时域抽样间隔,归一化为1。 抽样后,系统的频率特性是以为周期的,折叠频率为。故在一个周期内 以间隔抽样,N为抽样个数。频率抽样为,。 相应的离散系统的冲激响应为 将上述信号移位,可得因果系统的冲激响应。 5.基带传输系统(离散域分析) ?输入符号序列―― ?发送信号―― ――比特周期,二进制码元周期 ?发送滤波器――

通信原理基于matlab的计算机仿真_源代码

例错误!文档中没有指定样式的文字。-1 %周期信号(方波)的展开,fb_jinshi.m close 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:N ft = ft + Fn(m+N+1)*exp(j*2*pi*m*fs*t); end plot(t,ft) 例错误!文档中没有指定样式的文字。-4 利用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 spectrum 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); 脚本文件F2T.m定义了函数F2T,计算信号的反傅立叶变换。 function [t st]=F2T(f,sf) %This function calculate the time signal using ifft function for the input %signal's spectrum

通信原理实验报告-含MATLAB程序

通信原理实验报告 实验一 数字基带传输实验 一、实验目的 1、提高独立学习的能力; 2、培养发现问题、解决问题和分析问题的能力; 3、学习Matlab 的使用; 4、掌握基带数字传输系统的仿真方法; 5、熟悉基带传输系统的基本结构; 6、掌握带限信道的仿真以及性能分析; 7、通过观测眼图和星座图判断信号的传输质量。 二、实验原理 1. 带限信道的基带系统模型(连续域分析) 输入符号序列 ————{al } 发送信号 ————1 0()()L l d t al t lTb δ-==-∑ Tb 是比特周期,二进制码元周期 发送滤波器 ————GT(w)或GT (t )

发送滤波器输出 ———— 11 00()()*()()*()()L L l b T l T b T l l x t d t t a t lT g t a g t lT g δ--====-=-∑∑ 信道输出信号或接收滤波器输入信号()()()y t x t n t =+ 接收滤波器 ()R G ω或()R G f 接收滤波器输出信号 1 0()()*()()*()*()()*()()()L R T R R l b R l r t y t g t d t g t g t n t g t a g t lT n t -===+=-+∑ 其中2()()()j ft T R g t G f G f e df π∞ -∞=? 如果位同步理想,则抽样时刻为b l T ? 0 1l L =- 判决为 '{}l a 2. 升余弦滚降滤波器 1()||2s s H f T f T α-=≤; ()H f =111[1cos (||)]||2222s s s s s T T f f T T T παααα--++-<≤ ()H f = 10||2s f T α+> 式中α 称为滚降系数,取值为0 <α ≤1, T s 是常数。α = 0时,带宽为1/ 2T s Hz ;α =1时, 带宽为1/T s Hz 。此频率特性在(?1/(2T s ),1/(2T s ))内可以叠加成一条直线,故系统无码间干 扰传输的最小符号间隔为T s s ,或无码间干扰传输的最大符号速率为1/T s Baud 。相应的时 域波形h (t )为 222sin /cos /()/14/s s s s t T t T h t t T t T παππα=?- 此信号满足

通信原理MATLAB验证低通抽样定理实验报告

通信原理实验报告 一、实验名称 MATLAB验证低通抽样定理 二、实验目的 1、掌握抽样定理的工作原理。 2、通过MATLAB编程实现对抽样定理的验证,加深抽样定理的理解。同时训练应用计算机分析问题的能力。 3、了解MATLAB软件,学习应用MATLAB软件的仿真技术。它主要侧重于某些理论知识的灵活运用,以及一些关键命令的掌握,理解,分析等。 4、计算在临界采样、过采样、欠采样三种不同条件下恢复信号的误差,并由此总结采样频率对信号恢复产生误差的影响,从而验证时域采样定理。 三、实验步骤及原理 1、对连续信号进行等间隔采样形成采样信号,采样信号的频谱是原连续信号的频谱以采样频率为周期进行周期性的延拓形成的。 2、设连续信号的的最高频率为Fmax,如果采样频率Fs>2Fmax,那么采样信号可以唯一的恢复出原连续信号,否则Fs<=2Fmax会造成采样信号中的频谱混叠现象,不可能无失真地恢复原连续信号。 四、实验内容 1、画出连续时间信号的时域波形及其幅频特性曲线,信号为 x=cos(4*pi*t)+1.5*sin(6*pi*t)+0.5*cos(20*pi*t) 2、对信号进行采样,得到采样序列,画出采样频率分别为10Hz,20 Hz,50 Hz时的采样序列波形; 3、对不同采样频率下的采样序列进行频谱分析,绘制其幅频曲线,对比各频率下采样序列和的幅频曲线有无差别。 4、对信号进行谱分析,观察与3中结果有无差别。 5、由采样序列恢复出连续时间信号,画出其时域波形,对比与原连续时间信号的时域波形。 五、实验仿真图 (1) x=cos(4*pi*t)+1.5*sin(6*pi*t)+0.5*cos(20*pi*t)的时域波形及幅频特性曲线。clear; close all; dt=0.05; t=-2:dt:2 x=cos(4*pi*t)+1.5*sin(6*pi*t)+0.5*cos(20*pi*t); N=length(t); Y=fft(x)/N*2; fs=1/dt; df=fs/(N-1); f=(0:N-1)*df;

通信原理matlab实验1

实验一 设计任务: 用MatLib仿真一个BFSK通信系统,基本参数: 1)fc=1000Hz; 2)Rb=100bps; 3)信息序列:“Hello world”的ASCII 实验与报告基本要求: 1)Matlab程序,要点旁注(可打印后手写); 2)绘出信号波形,绘出信号PSD; 3)给出解调后的信息序列; 4)将信息重复3遍以上,FSK信号保存为WAV文件格式,使用音频播放,聆听;M文件: wave.m function[t,mt]=wave(m,dt,fs) l=length(m); mt=[]; ddt=1/fs; n=floor(dt*fs); m_add=ones(1,n); for i=1:l if(m(i)) mt=[mt,m(i),m_add]; else mt=[mt,m(i),m_add*0]; end t=(1:((n+1)*l))*ddt; end my_filter.m function[num,den]=my_filter(wp,ws,ap,as) if nargin<4 as=15; end if nargin<4 ap=3; end [n,wn]=buttord(wp,ws,ap,as); [num,den]=butter(n,wn); end 代码:

f0=800;%‘0’码载波频率 f1=1200;%‘1’码载波频率 fs=4000;%采样频率 Rb=100;%比特率 dt=1/Rb;%一个比特发送时间 A0=2;%调制幅度 A1=2;%相干解调幅度 miu=0;sigma=0.3;%miu:高斯白噪声均值,sigma:高斯白噪声均方差 str='Hello world';%信号字符串 m_dec=abs(str);%将信号字符串转换成ASCII码(十进制) m_bin=dec2bin(m_dec,8); m_bin=abs(m_bin)-48;%将十进制转换成8比特二进制矩阵 m=[]; for i=1:size(m_bin,1) m=[m,m_bin(i,:)]; end%将二进制转换成行向量 [t,m]=wave(m,dt,fs);%对信号采样 mt_f1=m.*cos(2*pi*f1*t)*A0;%频率f1调制 mt_f0=(~m).*cos(2*pi*f0*t)*A0;%频率f0调制 mt=mt_f1+mt_f0;%发送信号 l=length(mt); subplot(2,1,1);plot(t,mt); grid on;xlabel('t/s');title('m(t)');%发送信号波形subplot(2,1,2);periodogram(mt,[],l,fs);grid on;%发送信号PSD

通信原理课程设计:基于matlab的b4b编码与译码的设计与仿真

课程设计I(数据通信原理) 设计说明书 题目:3B4B编码与译码的设计与仿真 学生姓名樊佳佳 学号1318064017 班级网络工程1301班 成绩 指导教师贾伟

数学与计算机科学学院2015年 9 月 12 日

课程设计任务书 2015—2016学年第 1 学期 课程设计名 称: 课程设计I(数据通信原理) 课程设计题 目: 3B4B编码与译码的设计与仿真 完成期限:自 2015 年 8 月 11 日至 2015 年 9 月 11 日共2 周 设计内容: 设计一种数字基带传输中的一种编译码系统(HDB3、AMI、CMI、2B1Q、3B4B、曼切斯特、差分曼切斯特等选取一种)。 使用Matlab/Simulink仿真软件,设计所选择的基带传输的编码和译码系统。系统能根据随机信源输入的二进制信息序列给出对应的编码及译码结果,并以图形化的方式显示出波形,能观察各分系统的各级波形。 指导教师:教研室负责人: 课程设计评阅

摘要 设计一个码元信息传递系统,包括编码和译码两部分,这个系统可以高效地传递信息。该系统是基于matlab/simulik实现的,设计数字电路来实现码元由3bit一组到4bit一组的转换,提高信息的传输效率。 关键词: 3B4B ; 编码器; 译码器

目录 目录 (2) 1.课题描述 (3) 2.3B4B码编译码模块设计 (4) 2.1 3B4B码编译码原理 (3) 2.2 3B4B编码器原理及框图 (4) 2.3 3B4B译码器原理及框图 (5) 2.4 编译码程序图 (5) 3.3B4B编译码程序图的参数设置及其仿真结 (8) 3.1仿真系统中模块参数设置和仿真实验结果 (8) 4.总结 (11) 5.参考文献 (13)

北邮通信原理软件实验报告XXXX27页

通信原理软件实验报告 学院:信息与通信工程学院 班级: 一、通信原理Matlab仿真实验 实验八 一、实验内容 假设基带信号为m(t)=sin(2000*pi*t)+2cos(1000*pi*t),载波频率为20kHz,请仿真出AM、DSB-SC、SSB信号,观察已调信号的波形和频谱。 二、实验原理 1、具有离散大载波的双边带幅度调制信号AM 该幅度调制是由DSB-SC AM信号加上离散的大载波分量得到,其表达式及时间波形图为: 应当注意的是,m(t)的绝对值必须小于等于1,否则会出现下图的过调制: AM信号的频谱特性如下图所示: 由图可以发现,AM信号的频谱是双边带抑制载波调幅信号的频谱加上离散的大载波分量。 2、双边带抑制载波调幅(DSB—SC AM)信号的产生 双边带抑制载波调幅信号s(t)是利用均值为0的模拟基带信号m(t)和正弦载波 c(t)相乘得到,如图所示: m(t)和正弦载波s(t)的信号波形如图所示:

若调制信号m(t)是确定的,其相应的傅立叶频谱为M(f),载波信号c(t)的傅立叶频谱是C(f),调制信号s(t)的傅立叶频谱S(f)由M(f)和C(f)相卷积得到,因此经过调制之后,基带信号的频谱被搬移到了载频fc处,若模拟基带信号带宽为W,则调制信号带宽为2W,并且频谱中不含有离散的载频分量,只是由于模拟基带信号的频谱成分中不含离散的直流分量。 3、单边带条幅SSB信号 双边带抑制载波调幅信号要求信道带宽B=2W, 其中W是模拟基带信号带宽。从信息论关点开看,此双边带是有剩余度的,因而只要利用双边带中的任一边带来传输,仍能在接收机解调出原基带信号,这样可减少传送已调信号的信道带宽。 单边带条幅SSB AM信号的其表达式: 或 其频谱图为: 三、仿真设计 1、流程图:

通信原理MATLAB仿真

小学期报告 实习题目通信原理Matlab仿真专业通信与信息工程 班级 学号 学生姓名 实习成绩 指导教师 2010年

通信原理Matlab仿真 目录 一、实验目的------------------------------------------------------------------------------------------------2 二、实验题目------------------------------------------------------------------------------------------------2 三、正弦信号波形及频谱仿真------------------------------------------------------------------------2 (一)通信原理知识--------------------------------------------------------------------------------------2 (二)仿真原理及思路--------------------------------------------------------------------------------------2 (三)程序流程图------------------------------------------------------------------------------------------- 3 (四)仿真程序及运行结果------------------------------------------------------------------------------3 (五)实验结果分析---------------------------------------------------------------------------------------5 四、单极性归零波形及其功率谱密度仿真--------------------------------------------------------5 (一)通信原理知识--------------------------------------------------------------------------------------6 (二)仿真原理及思路------------------------------------------------------------------------------ -------6 (三)程序流程图-------------------------------------------------------------------------------------------6 (四)仿真程序及运行结果--------------------------------------------------------------------------------6 (五)实验结果分析-------------------------------------------------------------------------------- -------6 五、升余弦滚降波形的眼图及功率谱密度仿真-------------------------------------------------8 (一)通信原理知识--------------------------------------------------------------------------------------8 (二)仿真原理及思路------------------------------------------------------------------------------ -------9 (三)程序流程图------------------------------------------------------------------------------- -----------9 (四)仿真程序及运行结果------------------------------------------------------------------------------10 (五)实验结果分析---------------------------------------------------------------------------------------11 六、PCM编码及解码仿真-----------------------------------------------------------------------------12 (一)通信原理知识---------------------------------------------------------------------------------- ---12 (二)仿真原理及思路------------------------------------------------------------------------------ ------ 13 (三)程序流程图------------------------------------------------------------------------------- -----------14 (四)仿真程序及运行结果------------------------------------------------------------------------------15 (五)实验结果分析---------------------------------------------------------------------------------------18 七、实验心得---------------------------------------------------------------------------- -------------------18

通信原理MATLAB仿真基础(新)

第三章设计性实验(MATLAB仿真实验) 3.1M ATALAB语言概述 3.1.1 MATALAB语言的发展 MATALAB是一种科学计算软件,主要适用于矩阵运算及控制和信息处理领域的分析设计。它使用方便,输入简洁,运算高效,内容丰富,并且很容易由用户自行扩展,因此,当前已成为美国和其他发达国家大学教学和科学研究中最常用而必不可少的工具。 MATLAB是由美国Mathworks公司与1984年正式推出的,从那时到现在已升级到7.x版本。随着版本的升级,内容不断扩充,功能更强大。特别是在系统仿真和实时运行等方面,有很多新进展,更扩大了它的应用前景。 MATLAB是“矩阵实验室”(MATrix Laboratoy)的缩写,它是一种以矩阵运算为基础的交互式程序语言,专门针对科学、工程计算及绘图的需求。它用解释方式工作,键入程序立即得出结果,人机交互性能好,适应于多种平台。MATLAB语言在国外的大学工学院中,特别是数值计算用的最频繁的电子信息类学科中,已成为每个学生都掌握的工具了。它大大提高了课程教学、解题作业、分析研究的效率。 MATLAB语言比较好学,因为它只有一种数据类型,一种标准的输入输出语句,不用“指针”,不需编译,比其他语言少了很多内容;听三、四个小时课,上机练几个小时,就可入门了。以后自学也十分方便,通过它的演示(demo)和求助(help)命令,人们可以方便地在线学习各种函数的用法及其内涵 MATLAB语言的难点是函数较多,仅基本部分就有700多个,其中常用的有二三百个,要尽量多记少查,可以提高编程效率。 3.1.2MATLAB语言的特点 1.矩阵运算:每个变量代表一个矩阵,它以矩阵运算见长;每个元素都看作复数,所有的运算都对矩阵和复数有效。(虚部符号可用i或j) clear %清除内存变量 format short % c1=1-2i,c2=3*(2-sqrt(-1)*3),c3=6+sin(.5)*1j c4=complex(1,2) %建立复数 c1 = 1.0000 - 2.0000i

通信原理MATLAB仿真课程设计

《通信系统仿真》课程设计报告书 课题名称 Rayleigh 无线衰落信道的MATLAB 仿真 姓 名 伍伟 学 号 1312402-02 学 院 通信与电子工程学院 专 业 通信工程 指导教师 肖湘 2015年 12月19日 ※※※※※※※※※ ※※ ※ ※ ※※ ※※※※※※※※ ※ 2013级学生 通信系统仿真课程设计

Rayleigh 无线衰落信道的MATLAB 仿真 1 设计目的 (1) 对瑞利信道的数学分析,得出瑞利信道的数学模型。 (2) 利用MATLAB 对瑞利无线衰落信道进行编程。 (3) 针对服从瑞利分布的多径信道进行仿真,加深对多径信道特性的了解。 (4) 对仿真后的结果进行分析,得出瑞利无线衰落信道的特性。 2 设计要求 (1) 设计一个瑞利无线衰落信道; (2) 进一步地了解瑞利无线衰落信道对信号的影响; (3) 在设计无线多径信道时,对路径的多少一定要选择合理。 3 设计思路 (1) 分析出无线信道符合瑞利概率密度分布函数,写出数学表达式。 (2) 建立多径衰落信道的基本模型。 (3) 对符合瑞利信道的路径衰落进行分析,并利用MATLAB 进行仿真。 4 设计内容 4.1 理论分析及数学推导 无线信道大体可以分为4种:慢变瑞利衰落信道、快变瑞利衰落信道、慢变频率选择性信道、快变频率选择性信道。 在N 条路径的情况下,信道的输出为 1()()[()]N n n n y t a t x t t =τ=-∑ (4.1.1) 式中,()n a t 和()n t τ表示与第N 条多径分量相关的衰落和传播延迟,延迟和衰减都表示为时间的函数。 由于大量散射分量导致接收机输入信号的复包络是一个复高斯过程。在该

通信原理课程设计 基于MATLAB的数字基带传输系统的研究和分析讲解

塔里木大学信息工程学院通信原理课程设计 2016届课程设计 《基于MATLAB的数字基带传输系统的研究与分 析》 课程设计说明书 学生姓名 学号 所属学院信息工程学院 专业通信工程 班级通信16-1 指导教师蒋霎

塔里木大学教务处制 摘要 本论文主要研究了数字信号的基带传输的基本概念及数字信号基带传输的传输过程和如何用MATLAB软件仿真设计数字基带传输系统。本文首先介绍了本课题的理论依据,包括数字通信,数字基带传输系统的组成及数字基带信号的传输过程。接着介绍了数字基带传输系统的特性包括数字PAM信号功率普密度及常用线路码型,并通过比较最终选择双极性不归零码。然后介绍了MATLAB仿真软件。之后介绍了数字基带信号的最佳接收的条件以及如何通过示波器观察基带信号的波形。最后按照仿真过程基本步骤用MATLAB的仿真工具实现了数字基带传输系统的仿真过程,对系统进行了分析。 关键字:数字基带传输系统MATLAB 计算机仿真;

目录 1.前言 0 2.正文 0 2.1数字基带传输系统 0 2.2 数字基带信号 (1) 2.2.1基本的基带信号波形 (1) 2.2.2基带传输的常用码型 (2) 2.3实验原理 (5) 2.3.1数字通信系统模型 (5) 2.3.2数字基带传输系统模型 (5) 3.1MATLAB软件简介 (6) 3.1.1软件介绍 (6) 3.1.2 Matlab语言的特点 (7) 4.1实验内容 (7) 4.1.1理想低通特性 (8) 4.1.2余弦滚降特性 (8) 4.1.3 Matlab设计流程图 (9) 4.1.4余弦滚降系基于matlab的程序及仿真结果 (9) 致谢 (12) 参考文献 (13) 附录 (14)

通信原理MATLAB

>> % 文件名e_gauss.m % 高斯曲线 clear; a=0;sigma=1; x=-10:0.0001:10; y=(1/((sqrt(2*pi))*sigma))*exp(-((x-a).^2)/(2*sigm a.^2)); plot(x,y); xlabel('变量x'); ylabel('幅值(y)'); title('正态分布的概率密度(高斯曲线)'); >> % 文件名e_gauss.m % 高斯曲线 clear; a=0;sigma=3; x=-10:0.0001:10; y=(1/((sqrt(2*pi))*sigma))*exp(-((x-a).^2)/(2*sigm a.^2)); plot(x,y); xlabel('变量x'); ylabel('幅值(y)'); title('正态分布的概率密度(高斯曲线)'); >> % 文件名e_gauss.m % 高斯曲线 clear; a=3;sigma=1; x=-10:0.0001:10; y=(1/((sqrt(2*pi))*sigma))*exp(-((x-a).^2)/(2*sigma .^2)); plot(x,y); xlabel('变量x'); ylabel('幅值(y)'); title('正态分布的概率密度(高斯曲线)');

>> clear; a2=0;sigma2=1; x2=-10:0.0001:10; y2=(1/((sqrt(2*pi))*sigma2))*exp(-((x2-a2).^2)/(2*sigma2.^2)); subplot(3,1,1);plot(x2,y2,'b'); a3=6;sigma3=1; x3=-10:0.0001:10; y3=(1/((sqrt(2*pi))*sigma3))*exp(-((x3-a3).^2)/(2*sigma3.^2)); subplot(3,1,2);plot(x3,y3,'g'); a1=-6;sigma1=1; x1=-10:0.0001:10; y1=(1/((sqrt(2*pi))*sigma1))*exp(-((x1-a1).^2)/(2*sigma1.^2)); subplot(3,1,3);plot(x1,y1,'r'); xlabel('变量x'); ylabel('幅值(y)'); title('正态分布的概率密度(高斯曲线)');

MATLAB仿真实例(通信原理)

一、实验目的 (1) 二、实验题目 (1) 三、实验内容 (1) 3.1傅里叶变换与傅里叶反变换 (1) 3.2题目一:正弦信号波形及频谱 (2) 3.2.1仿真原理及思路 (2) 3.2.2程序流程图 (3) 3.2.3仿真程序及运行结果 (3) 3.2.4实验结果分析 (5) 3.3题目二:单极性归零(RZ)波形及其功率谱 (5) 3.3.1仿真原理及思路 (5) 3.3.2程序流程图 (6) 3.3.3仿真程序及运行结果 (6) 3.3.4实验结果分析 (8) 3.4题目三:升余弦滚降波形的眼图及其功率谱 (8) 3.4.1仿真原理及思路 (8) 3.4.2程序流程图 (8) 3.4.3仿真程序及运行结果 (8) 3.4.4实验结果分析: (10) 3.5题目四:完成PCM编码及解码的仿真 (11) 3.5.1仿真原理及思路 (11) 3.5.2程序流程图 (12) 3.5.3仿真程序及运行结果 (12) 3.5.4实验结果分析 (15) 3.6附加题一:最佳基带系统的Pe~Eb\No曲线,升余弦滚降系数a=0.5,取 样值的偏差是Ts/4 (16) 3.6.1仿真原理及思路 (16) 3.6.2程序流程图 (16) 3.6.3仿真程序及运行结果 (16) 3.6.4实验结果分析 (18) 3.7附加题二:试作出Pe~Eb/No曲线。升余弦滚降系数a=0.5,取样时间无 偏差,但信道是多径信道,C(f)=|1-0.5-j2 ft|,t=T s/2 (18) 3.7.1仿真原理及思路 (18) 3.7.2程序流程图 (19) 3.7.3仿真程序及运行结果 (19) 3.7.4实验结果分析 (21) 四、实验心得 (21)

通信原理课程设计_(基于MATLAB的_2PSK_2DPSK仿真)

江西农业大学 通信原理课程设计报告 题目基于Matlab的相移键控仿真设计专业电子信息工程 学生姓名曾凡文 学号 20121206

2015年6月 基于Matlab的2PSK,2DPSK仿真 摘要:现代通信系统要求通信距离远、通信容量大、传输质量好,作为其关键技术之一的调制技术 一直是研究的一个重要方向。本设计主要叙述了数字信号的调制方式,介绍了2PSK数字调制方式的 基本原理,功率谱密度,并运用MATLAB软件对数字调制方式2PSK进行了编程仿真实现,在MATLAB平 台上建立2PSK和2DPSK调制技术的仿真模型。进一步学习了MATLAB编程软件,将MATLAB与通信系统 中数字调制知识联系起来,为以后在通信领域学习和研究打下了基础在计算机上,运用MATLAB软件 来实现对数字信号调制技术的仿真。 关键词:数字调制与解调;MA TLAB;2PSK;2DPSK;

第1章绪论 1.1 调制方式 数字通信系统, 按调制方式可以分为基带传输和带通传输。数字基带信号的功率一般处于从零开始到某一频率(如0~6M)低频段,因而在很多实际的通信(如无线信道)中就不能直接进行传输,需要借助载波调制进行频谱搬移,将数字基带信号变换成适合信道传输的数字频带信号进行传输,这种传输方式,称为数字信号的频带传输或调制传输、载波传输。所谓调制,是用基带信号对载波波形的某参量进行控制,使该参量随基带信号的规律变化从而携带消息。对数字信号进行调制可以便于信号的传输;实现信道复用;改变信号占据的带宽;改善系统的性能。 数字基带通信系统中四种基本的调制方式分别称为振幅键控(ASK,Amplitude-Shift keying)、移频键控( FSK,Frequency-Shift keying)、移相键控(PSK,Phase-Shift keying )和差分移相键(DPSK,Different Phase-Shift keying)。本次课程设计对PSK,DPSK这两种调制方式进行了仿真。 1.2 设计要求 1.2.1 设计内容 用MATLAB完成对2PSK、2DPSK的调制与解调仿真电路设计,并对仿真结果进行分析,可编写程序,也可硬件设计框图 1.2.2 设计参数(参数可以自行设置) 1、传输基带数字信号(15位)码元周期T=0.01S 2、载波频率:15KHz 1.2.3 设计仪器 计算机和MATLAB软件

通信原理课程设计报告(基于Matlab)

河南农业大学 通信原理及线路课程设计 课程名称matlab通信仿真设计 院(系) 机电工程学院 专业班级 10级电子信息工程 姓名冯玉波程欢李俊伟 学号 1004101004 1004101009 1004101015 指导教师季宝杰

目录 一.设计目的………………………………………………………………………… 二.设计内容及要求……………………………………………………………………… 三.设计原理 3.1… 2DPSK信号原理…………………………………………………………… 3.2…. 2DPSK信号的调制原理……………………………………………. 3.3…2DPSK信号的解调原理………………………………………….. 3.3.1…2DPSK信号解调的极性比较法………………………… 3.3.2…2DPSK信号解调的差分相干解调法……………………. 四.实现方法 4.1 建立模型 4.1.1差分和逆差分变换模型……………………. 4.1.2带通滤波器和低通滤波器的模型……………………… 4.1.3抽样判决器模型…………………………….. 4.2系统结构图…………. 4.3….2DPSK调制与解调总原理框图………………………………… 4.4..编写程序及结果图像……………………………………………….. 五.设计感受………………………………………………………………………………

2DPSK调制与解调系统的设计 一.设计目的 课程设计应达到的目的 (1)掌握使用Matlab语言及其工具箱进行基本信号分析与处理的方法。 (2)用matlab和simulink设计一个通信系统,加深对通信原理基本原理和matlab应用技术的理解; (3)提高和挖掘学生将所学知识与实际应用相结合的能力; (4)培养学生的合作精神和独立分析问题和解决问题的能力; (5)提高学生科技论文的写作水平。 二.设计内容及要求 掌握2DPSK原理,进而构建出基于matlab和simulink的系统框图和程序,最后做出结果图像。三.设计原理 3.1 2DPSK信号原理 2DPSK方式即是利用前后相邻码元的相对相位值去表示数字信息的一种方式。现假设用Φ表示本码元初相与前一码元初相之差,并规定:Φ=0表示0码,Φ=π表示1码。则数字信息序列与2DPSK信号的码元相位关系可举例表示如2PSK信号是用载波的不同相位直接去表示相应的数字信号而得出的,在接收端只能采用相干解调,它的时域波形图如图2.1所示。 图1.1 2DPSK信号

通信原理Matlab仿真实验报告

通信原理Matlab仿真 实验报告 学号: 姓名:

实验一 1、利用Matlab 实现矩形信号串信号分解与合成 ⑴ Matlab 程序代码: ①矩形信号串信号分解与合成函数rectexpd (): function rectexpd(T1,T0,m) %矩形信号串信号分解与合成 %T1:矩信号区间为(-T1/2,T1/2) %T0:矩形矩信信号串周期 %m:傅里叶级数展开项次数 t1=-T1/2:0.01:T1/2;t2=T1/2:0.01:(T0-T1/2); t=[(t1-T0)';(t2-T0)';t1';t2';(t1+T0)']; n1=length(t1);n2=length(t2); %根据周期矩形 信号函数周期,计算点数 f=[ones(n1,1);zeros(n2,1);ones(n1,1);zeros(n2,1);ones(n1,1)]; %构造周期矩形信号串 y=zeros(m+1,length(t));y(m+1,:)=f'; figure(1); plot(t,y(m+1,:)); %绘制周期矩形信号串 axis([-(T0+T1/2)-0.5,(T0+T1/2)+0.5,0,1.2]); set(gca,'XTick',[-T0,-T1/2,T1/2,T0]); set(gca,'XTickLabel',{'-T0','-T1/2','T1/2','T0'}); title('矩形信号串');grid on; a=T1/T0; pause; %绘制离散幅度谱 freq=[-20:1:20];mag=abs(a*sinc(a*freq)); stem(freq,mag); x=a*ones(size(t)); for k=1:m %循环显示谐波叠加图形 pause; x=x+2*a*sinc(a*k)*cos(2*pi*t*k/T0); y(k,:)=x; plot(t,y(m+1,:));hold on; plot(t,y(k,:));hold off;grid on; axis([-(T0+T1/2)-0.5,[T0+T1/2]+0.5,-0.5,1.5]); title(strcat(num2str(k),'次谐波叠加')); xlabel('t');end pause; plot(t,y(1:m+1,:));grid on; axis([-T0/2,T0/2,-0.5,1.5]); title('各次谐波叠加');xlabel('t'); ②在命令窗口调用rectexpd ()函数: T1=5; T0=10; m=5; rectexpd(T1,T0,m) ⑵Matlab 仿真结果: -T0-T1/2T1/2T0 0.2 0.4 0.6 0.8 1矩形信号串 -20 -15 -10 -5 5 10 15 20 0.050.1 0.15 0.20.25 0.30.35 0.40.45 0.5

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