通信原理课程设计.docx
《通信原理课程设计.docx》由会员分享,可在线阅读,更多相关《通信原理课程设计.docx(19页珍藏版)》请在冰豆网上搜索。
![通信原理课程设计.docx](https://file1.bdocx.com/fileroot1/2022-11/15/2285dd5d-5d3f-4345-9ff7-79956e867349/2285dd5d-5d3f-4345-9ff7-79956e8673491.gif)
通信原理课程设计
《通信原理》课程设计报告
专业班级20091422
学号2009142225
学生姓名唐德松
指导教师陈小刚
2012年5月
平时成绩(20%)
报告成绩(40%)
答辩成绩(40%)
总成绩
一、务与要求
1.根据题目,查阅有关资料,主要通过matlab仿真进一步深化对通信原理知识的学习。
2.学习MATLAB软件,掌握MATLAB各种函数的使用。
3.形成设计报告。
课程设计需要运用MATLAB编程实现模拟调制、数字基带传输,数字频带传输、PCM编解码、最佳接收、扩频通信与伪随机序列等内容。
并且输出调制后的波形,画出频谱、功率谱密度图,并比较各种调制的情况,讨论其调制效果。
二、设计内容
1.1题目一信号特性分析(如正弦波信号的波形与频谱)
采用matlab产生不同频率,不同幅度的两种正弦波信号,并将这两个信号叠加为一个信号,观察这三个信号的波形。
对叠加后的信号用FFT作谱分析。
要求:
1、绘出正弦信号的时域波形
2、掌握傅立叶变换及其逆变换
3、利用傅立叶变换绘出正弦信号的频谱
1.2实验原理:
正弦序列
,在MATLAB中
将信号源发出的信号强度按频率顺序展开,使其成为频率的函数,并考察变化规律,称为频谱分析。
对信号进行频谱分析,往往对其进行傅里叶变换,观察其频谱幅度与频谱相位。
对于信号来说,分模拟信号与数字信号。
对于模拟信号来说,往往对其进行抽样,然后进行快速傅里叶变换(fft),然后对其幅度(abs)和相位(angle)的图像进行分析。
对于数字信号,则可直接进行快速傅里叶变换。
1.3具体程序如下:
clearall
clc;
f1=100;%信号频率Hz
f2=150;%信号频率Hz
fs=1000;%采样频率Hz
N=20;%采样点数
t=(0:
N-1)/fs;%采样时间s
x1=5*sin(2*pi*f1*t);%信号采样值
x2=10*sin(2*pi*f2*t);%信号采样值
subplot(231);
stem(t,x1,'.')
subplot(232);
stem(t,x2,'.');
subplot(233);
stem(t,x1+x2,'.');
y1=fft(x1,512);
subplot(234);
plot(abs(y1).^2);
xlabel('频率(Hz)');
ylabel('幅值');
y2=fft(x1,512);
subplot(235);
plot(abs(y2).^2);
xlabel('频率(Hz)');
ylabel('幅值');
y3=fft(x1+x2,512);
subplot(236);
plot(abs(y3).^2);
xlabel('频率(Hz)');
ylabel('幅值');
2.1题目二模拟调制(AM,DSB,SSB任选一)
采用matlab产生频率为1kHz、功率为1的正弦信号m(t),设载波频率为10kHz。
要求:
1、已调信号波形与功率谱密度
2、在接收端经相乘器后的信号波形
3、最后经低通滤波后的信号波形
2.2实验原理
模拟调制就是用模拟信号调制载波,优点是直观且容易实现,但存在两个主要缺点:
保密性差和抗干扰能力弱,设载波为uc(t)=Ucmcosωct,单频调制信号为uΩ(t)=UωmcosΩt(Ω《ωc),则双边带调幅信号为:
uDSB(t)=kuΩ(t)uc(t)=kUΩmUcmcosΩtcosωct
其中k为比例系数。
=[cos(ωc+Ω)t+cos(ωc-Ω)t]可见双边带调幅信号中仅包含两个边频,无载频分量,其频带宽度仍为调制信号带宽的两倍。
2.3程序
dt=0.00001;%采样时间间隔
fm=1000;%调制信号频率
fc=10000;%载波频率
T=0.01;
t=0:
dt:
T;
mt=sqrt
(2)*cos(2*pi*fm*t);
sdsb=mt.*cos(2*pi*fc*t);
subplot(4,1,1);
plot(t,sdsb);title('已调信号波形');
[f,sf]=T2F(t,mt);
[dsb_f,dsb_sf]=T2F(t,sdsb);
subplot(4,1,2);
plot(dsb_f,dsb_sf);title('已调信号功率谱');
pdsb_sf=(abs(dsb_sf).^2)/T;
r_dsb=sdsb.*cos(2*pi*fc*t);
subplot(4,1,3);
plot(t,r_dsb);title('经相乘器后的波形');
r_dsb=r_dsb-mean(r_dsb);
[f1,rf]=T2F(t,r_dsb);
B=2*fm;
[t1,rt]=LPF(f1,rf,B);
subplot(4,1,4);
plot(t,rt);title('解调信号经低通滤波后的信号波形');
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;
sff=ifftshift(sf);
st=ifft(sff);
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);
function[tst]=LPF(f,sf,B)%低通滤波
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);
2.4结果分析
3.1题目三数字基带传输
产生等概率且相互独立的二进制序列+1,-1,产生均值为0的加性高斯随机噪声;求系统误码率随信噪比(0:
0.5:
10)的变化曲线
要求:
1、数字基带系统的误码率(理论)
2、数字基带系统的误码率(蒙特卡罗仿真)
3.2实验原理
通过MATLAB采用蒙特卡罗方法仿真该通信系统误码性能的程序如下,流程图如图所示。
3.3程序
%BERofdigitalbaseband
communicationsystem
closeall
SNRdB=[0:
0.5:
10];
snr=10.^(SNRdB/10);
N=100000;
BERt=0.5*erfc(sqrt(snr));
%%%TheoreticalBER
sigma=sqrt(0.5./snr);
%%%SimulatedBER
forn=1:
length(SNRdB);
sig=sign(randn(1,N));
noise=sigma(n)*randn(1,N);
rs=sig+noise;
rd=sign(rs);
BERs(n)=sum(abs(sig-rd)/2)/N;
end
subplot(121);plot(SNRdB,log10(BERt))
holdon
plot(SNRdB,log10(BERs),'rs');
title('基带系统误码率');
EbN0dB=0:
0.5:
10;
N0=10.^(-EbN0dB/10);
sigma=sqrt(N0/2);%理论计算的误码率
Pb=0.5*erfc(sqrt(1./N0));%仿真误码率
forn=1:
length(EbN0dB)
a=sign(randn(1,100000));
%产生等概信源
rk=a+sigma(n)*randn(1,100000);
%离散等效接收模型
dec_a=sign(rk);%判决
%计算误码率
ber(n)=sum(abs(a-dec_a)/2)/length(a);
end
subplot(122)
semilogy(EbN0dB,Pb);
hold;
semilogy(EbN0dB,ber,'rd-');
title('蒙特卡罗方法仿真');
legend('理论值','仿真结果');
xlabel('Eb/N0(dB)');
ylabel('Pb');
3.4结果分析
4.1题目四升余弦滚降系统
要求:
1、接收端数字基带信号的波形
2、接收端数字基带信的号眼图
4.2实验原理
4.3实验程序
Ts=1;
N=15;
eye_num=6;
a=1;
N_data=1000;
dt=Ts/N;
t=-3*Ts:
dt:
3*Ts;
%产生双极性数字信号
d=sign(randn(1,N_data));
dd=sigexpand(d,N);
%基带系统冲击响应(升余弦)
ht=sinc(t/Ts).*(cos(a*pi*t/Ts))./(1-4*a^2*t.^2/Ts^2+eps);
st=conv(dd,ht);
tt=-3*Ts:
dt:
(N_data+3)*N*dt-dt;
subplot(211)
plot(tt,st);
axis([020-1.21.2]);
xlabel('t/Ts');
ylabel('基带信号');
subplot(212)
%画眼图
ss=zeros(1,eye_num*N);
ttt=0:
dt:
eye_num*N*dt-dt;
fork=3:
50
ss=st(k*N+1:
(k+eye_num)*N);
drawnow;
plot(ttt,ss);
holdon;
end;
xlabel(t/Ts');
ylabel('基带信号眼图');
%将输入的序列扩成间隔为N-1个0的序列
function[out]=sigexpand(d,M)
N=length(d);
out=zeros(M,N);
out(1,:
)=d;
out=reshape(out,1,M*N);
4.4结果分析
5.1题目五数字频带传输
要求:
1、PSK通信系统的误码率(理论)
2、PSK通信系统的误码率(蒙特卡罗仿真)
5.2实验原理
在某些调制解调器中用于数据传输的调制系统,在最简单的方式中,二进制调制信号产生0和1。
载波相位来表示信号占和空或者二进制1和O。
对于有线线路上较高的数据传输速率,可能发生4个或8个不同的相移,系统要求在接收机上有精确和稳定的参考相位来分辨所使用的各种相位。
利用不同的连续的相移键控,这个参考相位被按照相位改变而进行的编码数据所取代,并且通过将相位与前面的位进行比较来检测。
误码率就是接收方受到信息中错误的信息量与总信息量的比值。
5.3实验程序
clearall
clc
s=[10110010];f=100;
pskdigital(s,f)
——————————————————
%********自定义函数*********%
functionpskdigital(s,f)
%本函数实现将输入的一段二进制