ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:244.41KB ,
资源ID:8750686      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8750686.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(通信原理软件实验.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

通信原理软件实验.docx

1、通信原理软件实验通信原理软件实验1、设计题目1、基带码型仿真1) 通过仿真观察占空比为50%、75%以及100%的单、双极性归零码波形以及其功率谱,分析不同占空比对仿真结果的影响。2) 通过仿真产生一随机消息码序列,将其分别转换为AMI码和HDB3码,观察它们的波形及其功率谱密度。2、数字带通调制仿真设计一个采用2PSK调制的数字通信系统:产生二进制随机数据,并仿真其 对应的2PSK调制波形,分析其频谱。所产生的调制波形加入不同信噪比的 白噪声,选取合适的接收方案,画出系统误码率曲线,并与理论误码率进行 对比。2、实验基本原理1、基带码型仿真1.1单极性归零码发送“l”时,在整个码元期间高电平

2、只持续一段时间,在码元的其余时间内则返回到零电平;发送“0”时低电平。常记作RZ。 1.2 双极性归零码1 0 1 0 0 1 1 02.1 AMI码将消息代码“0”(空号)和“1”(传号)按如下规则进行编码:代码的0仍变换为传输码的0,而把代码中的1交替地变换为传输码的+1、-1、+1、-1、。消息代码: 1 0 0 1 1 0 0 0 1 1 1.AMI码: +1 0 0 -1 +1 0 0 0 -1 +1 -1.由于AMI码的传号交替反转,故由它决定的基带信号将出现正负脉冲交替,而0电位保持不变的规律。由此看出,这种基带信号无直流成分,且只有很小的低频成分,因而它特别适宜在不允许这些成分

3、通过的信道中传输。但是,AMI码有一个重要缺点,即当它用来获取定时信息时,由于它可能出现长的连0串,会造成提取定时信号的困难。2.2 HDB3码1)先把消息代码变换成AMI码,当没有4个以上连0串时,结束编码;2)当出现4个以上连0串时,则将每4个连0小段的第4个0变换成与其前一非0符号同极性的符号,称为破坏符号V (即+1记为+V,-1记为-V)。3)当相邻V 符号之间有奇数个非0符号时,结束编码;当有偶数个非0符号时,将该小段的第1个0变换成+B或-B,B符号的极性与前一非0符号的相反,并让后面的非0符号从V符号开始再交替变化。代码: 1000 0 1000 0 1 1 000 0 1 1

4、AMI码: -1000 0 +l000 0 -1 +1 000 0 -1 +1 -1000 -V +l000 +V -1 +1 000 +V -1 +1HDB3码: -1000 -V +l000 +V -1 +1 -B00 -V +1 -12、数字带通调制仿真2PSK基本原理二进制移相键控是用二进制数字信号0,1去控制载波的两个相位 0, 的方法,其时域表达式为式中 ,为双极性数字信号,若g(t)是脉宽为Ts的单个矩形脉冲,则有以载波的不同相位直接去表示相应数字信息的相位键控称为绝对移相,即2PSK。2.1 2PSK信号的产生(a)模拟相乘法 (b)键控法2.2 2PSK的解调(相干解调)2.

5、3 2PSK信号的频谱2PSK和2ASK的形式完全相同,只是 的取值不同,求2PSK信号的功率谱密度,可采用与求2ASK信号功率谱密度相同的方法。2PSK信号功率谱密度 由于g(t)是双极性矩形脉冲信号上式变为当概率相等时,P=1/2 ,上式变为最后得到2PSK信号频谱同样由连续谱和离散谱构成,当双极性信号等概出现时,将不存在离散谱部分。连续谱结构与ASK信号连续谱结构基本相同,仅相差一个常数因子;2PSK信号带宽与2ASK信号带宽相同。3、仿真方案(程序流程图),参数设置4、实验结果(仿真图)及分析1.通过仿真观察占空比为50%、75%以及100%的单、双极性归零码波形以及其功率谱,分析不同

6、占空比对仿真结果的影响。图3.1 占空比为50%、75%、100%的单极性归零码波形图3.2 占空比为50%、75%、100%的双极性归零码波形图3.3 占空比为50%、75%、100%的单极性归零码功率谱图3.4 占空比为50%、75%、100%的双极性归零码功率谱2.通过仿真产生一随机消息码序列,将其分别转换为AMI码和HDB3码,观察它们的波形及其功率谱密度。图3.5 AMI码及HDB3码的波形图3.6 AMI码及HDB3码的功率谱3.设计一个采用2PSK调制的数字通信系统:产生二进制随机数据,并仿真其对应的2PSK调制波形,分析其频谱。所产生的调制波形加入不同信噪比的白噪声,选取合适的

7、接收方案,画出系统误码率曲线,并与理论误码率进行对比。图3.7 2PSK信号的波形及功率谱密度图3.8 2PSK信号的误码率曲线5、程序源代码1、基带码型仿真1) 通过仿真观察占空比为50%、75%以及100%的单、双极性归零码波形 以及其功率谱,分析不同占空比对仿真结果的影响。% 生成单个码元Ts = 1; % 码元周期N_sample = 128; % 单个码元抽样点数dt = Ts / N_sample; % 抽样时间间隔N = 50; % 码元数t = 0 : dt : (N * N_sample - 1) * dt; % 序列传输时间duty1 = ones(1, N_sample)

8、; % 100%单极性归0码duty2 = ones(1, N_sample / 2), zeros(1, N_sample / 2); % 50%单极性归0码duty3 = ones(1, N_sample / 4),ones(1, N_sample / 4),ones(1, N_sample / 4), zeros(1, N_sample / 4); % 75%单极性归0码 % 生成随机序列RAN = randi(0,1,1,N); % 随机0 1序列code1 = ;code2 = ;code3 = ;for i = 1 : N % 生成序列 if RAN(i)=1 code1 = co

9、de1 duty1; code2 = code2 duty2; code3 = code3 duty3; else code1 = code1 zeros(1, N_sample); code2 = code2 zeros(1, N_sample); code3 = code3 zeros(1, N_sample); endend code4 = ;code5 = ;code6 = ;for i = 1 : N % 生成序列 if RAN(i)=1 code4 = code4 duty1; code5 = code5 duty2; code6 = code6 duty3; else code4

10、 = code4 -duty1; code5 = code5 -duty2; code6 = code6 -duty3; endend% 绘制出结果figure (1)subplot(3, 1, 1);plot(t, code1);grid on;title(单极性:D = 100%);xlabel(t/s);ylabel(幅度);subplot(3, 1, 2);plot(t, code2);grid on;title(单极性:D = 50%);xlabel(t/s);ylabel(幅度);subplot(3, 1, 3);plot(t, code3);grid on;title(单极性:D

11、 = 75%);xlabel(t/s);ylabel(幅度);figure (2)subplot(3, 1, 1);plot(t, code4);grid on;title(双极性:D = 100%);xlabel(t/s);ylabel(幅度);subplot(3, 1, 2);plot(t, code5);grid on;title(双极性:D = 50%);xlabel(t/s);ylabel(幅度);subplot(3, 1, 3);plot(t, code6);grid on;title(双极性:D = 75%);xlabel(t/s);ylabel(幅度); % 功率谱绘制与计算

12、%fft_code1 = fftshift(fft(code1); % 求序列的频谱fft_code2 = fftshift(fft(code2);fft_code3 = fftshift(fft(code3);fft_code4 = fftshift(fft(code4);fft_code5 = fftshift(fft(code5);fft_code6 = fftshift(fft(code6); PE1 = 10 * log10(abs(fft_code1) . 2 / (N * Ts); % 公式法求功率谱密度PE2 = 10 * log10(abs(fft_code2) . 2 /

13、(N * Ts);PE3 = 10 * log10(abs(fft_code3) . 2 / (N * Ts);PE4 = 10 * log10(abs(fft_code4) . 2 / (N * Ts);PE5 = 10 * log10(abs(fft_code5) . 2 / (N * Ts);PE6 = 10 * log10(abs(fft_code6) . 2 / (N * Ts); PEL1 = (-length(fft_code1) / 2 : length(fft_code1) / 2 - 1) / N; % 转换成对应频率(-L/2:L/2-1)*fs/LPEL2 = (-le

14、ngth(fft_code2) / 2 : length(fft_code2) / 2 - 1) / N;PEL3 = (-length(fft_code3) / 2 : length(fft_code3) / 2 - 1) / N;PEL4 = (-length(fft_code4) / 2 : length(fft_code4) / 2 - 1) / N;PEL5 = (-length(fft_code5) / 2 : length(fft_code5) / 2 - 1) / N;PEL6 = (-length(fft_code6) / 2 : length(fft_code6) / 2

15、- 1) / N; figure (3)subplot(3, 1, 1);plot(PEL1, PE1);grid on;title(单极性归零码功率谱:D = 100%);xlabel(频率/HZ);axis(-20 20 -50 50);ylabel(P/dB);subplot(3, 1, 2);plot(PEL2, PE2);grid on;title(单极性归零码功率谱:D = 50%);xlabel(频率/HZ);axis(-20 20 -50 50);ylabel(P/dB);subplot(3, 1, 3);plot(PEL3, PE3);grid on;title(单极性归零码

16、功率谱:D = 75%);xlabel(频率/HZ);axis(-20 20 -50 50);ylabel(P/dB); figure(4)subplot(3, 1, 1);plot(PEL4, PE4);grid on;title(双极性归零码功率谱: D = 100%);axis(-20 20 -50 50);xlabel(频率/HZ);ylabel(P/dB);subplot(3, 1, 2);plot(PEL5, PE5);grid on;title(双极性归零码功率谱: D = 50%);axis(-20 20 -50 50);xlabel(频率/HZ);ylabel(P/dB);s

17、ubplot(3, 1, 3);plot(PEL6, PE6);grid on;title(双极性归零码功率谱: D = 75%);axis(-20 20 -50 50);xlabel(频率/HZ);ylabel(P/dB);2) 通过仿真产生一随机消息码序列,将其分别转换为AMI码和HDB3码, 观察它们的波形及其功率谱密度。Ts = 1;N_sample = 128;dt = Ts / N_sample;N = 50;t = 0 : dt : (N * N_sample - 1) * dt;RAN = randi(0,1,1,N); % 随机0 1序列gt1 = ones(1,N_samp

18、le);gt2 = zeros(1,N_sample);% AMI %AMI = ;RAN0 = RAN;single0 = 1;for i = 1 : N if(RAN0(i) = 1) RAN0(i) = RAN0(i) * single0; single0 = single0 * -1; endend AMI = ;for i = 1 : N AMI = AMI RAN0(i)*gt1;end % % HDB3 %RAN1 = RAN;single = 1;for i = 1 : N if(RAN1(i) = 1) RAN1(i) = RAN1(i)* single; single =

19、single * -1; endendRAN2 = RAN1;count = 1;Vcode = 0;for i = 1 : N-3 if(RAN2(i)| RAN2(i+1)| RAN2(i+2)| RAN2(i+3) = 0) if(i = 1) RAN2(i+3) = 1; Vcode = Vcode RAN2(i+3); count = count + 1; else RAN2(i+3) = RAN2(i-1); %破坏码 Vcode = Vcode RAN2(i+3); count = count + 1; if(Vcode(count) = Vcode(count-1) %破坏码是

20、否正负相间 RAN2(i) = -RAN2(i-1); %加信码 Vcode(count) = -Vcode(count); for j = i+1 : N RAN2(j) = -RAN2(j); %信码之后极性取反 end end end endend HDB3 = ;for i = 1 : N HDB3 = HDB3 RAN2(i)*gt1;end % 求频谱 % fft_AMI = fftshift(fft(AMI); % 求序列的频谱fft_HDB3 = fftshift(fft(HDB3); % 求序列的频谱 PE1 = 10 * log10(abs(fft_AMI) . 2 / (

21、N * Ts); % 公式法求功率谱密度PE2 = 10 * log10(abs(fft_HDB3) . 2 / (N * Ts); PEL1 = (-length(fft_AMI) / 2 : length(fft_AMI) / 2 - 1) / N; % 转换成对应频率(-L/2:L/2-1)*fs/LPEL2 = (-length(fft_HDB3) / 2 : length(fft_HDB3) / 2 - 1) / N; % 绘制码元仿真图 %figure (1)subplot(2,1,1);plot(t, AMI);grid on;title(AMI码元);xlabel(t/s);y

22、label(幅度);subplot(2,1,2);plot(t, HDB3);grid on;title(HDB3码元);xlabel(t/s);ylabel(幅度);% % 绘制功率谱 %figure (2)subplot(2, 1, 1);plot(PEL1, PE1);grid on;title(AMI功率谱);axis(-10 10 -10 50);xlabel(频率/HZ);ylabel(P/dB);subplot(2, 1, 2);plot(PEL2, PE2);grid on;title(HDB3功率谱);axis(-10 10 -50 50);xlabel(频率/HZ);yla

23、bel(P/dB);2 数字带通调制仿真设计一个采用2PSK调制的数字通信系统:产生二进制随机数据,并仿真其对应的2PSK调制波形,分析其频谱。所产生的调制波形加入不同信噪比的白噪声,选取合适的接收方案,画出系统误码率曲线,并与理论误码率进行对比。clear all;close all;clcTs = 1;N_sample = 100;dt = Ts / N_sample;N = 1000000;t = 0 : dt : (N * N_sample - 1) * dt;RAN = randi(0,1,1,N); % 随机0 1序列gt1 = ones(1,N_sample); code = ;

24、RAN0 = RAN;Progressbar=waitbar(0,Please wait(1/2).);%创建进度条for i = 1 : N waitbar(i/N); if(RAN0(i) = 0) RAN0(i) = -1; end code = code RAN0(i)*gt1;endclose(Progressbar); fc = 5;CarrierWave = sin(2*pi*fc*t); %载波信号BPSK_Wave = code.* CarrierWave; %调制fft_code1 = fftshift(fft(BPSK_Wave); % 求序列的频谱PE1 = 10 *

25、log10(abs(fft_code1) . 2 / (N * Ts); % 公式法求功率谱密度PEL1 = (-length(fft_code1) / 2 : length(fft_code1) / 2 - 1) / N; % 转换成对应频率(-L/2:L/2-1)*fs/L% 绘制信号 %figure (1)subplot(3,1,1);plot(t,code);axis(0,10,-1.5,1.5);title(码元序列);xlabel(t/s);ylabel(幅度);%码元序列subplot(3,1,2);plot(t,BPSK_Wave);axis(0,10,-1.5,1.5);ti

26、tle(BPSK波形);xlabel(t/s);ylabel(幅度);%BPSK波形subplot(3,1,3);plot(PEL1,PE1);axis(fc-5,fc+5,-100,100);xlabel(频率/HZ);ylabel(P/dB);title(功率谱密度);%功率谱密度%计算误码率 %Pe = ;h=waitbar(0,Please wait(2/2).);%创建进度条% 加入高斯噪声 %SNR = -30 : 0;for i =1 : length(SNR); BPSK_Noise = awgn(BPSK_Wave,SNR(i); waitbar(i/length(SNR);

27、 % BPSK信号的解调(相干)% BPSK_Demo = BPSK_Noise.* CarrierWave ;%相干解调 fp = 1; %截至频率2.5hz fcm = fp/N_sample; %归一化频率 LPF = fir1(30,2*pi*fcm); %反复实验得出阶数 BPSK_LPF = filter2(LPF,BPSK_Demo); %此处不用conv卷积,因为长度增加 % 抽样判决 % code_back = ; count = 0; for q = 1:N*N_sample if(BPSK_LPF(q) 0) code_back = 1; else code_back =

28、 -1; end if (code_back = code(q) count = count + 1; end end error = count / (N*N_sample); Pe = Pe error;end % 误码率计算 %close(h); figure (2)snr = 10.(0.1.*SNR);Pe_theor = (erfc(sqrt(snr).*(1-0.5*erfc(sqrt(snr);semilogy(SNR,Pe,b);xlabel(SNR/db);ylabel(误码率);hold on;title(BPSK误码率曲线);semilogy(SNR,Pe_theor,r);grid on;legend(实际值,理论值)%xlabel(SNR/db);ylabel(误码率/10x);title(BPSK误码率曲线); 6、总结及存在的问题

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1