通信原理实践(四)——模拟通信系统性能分析
一、模拟通信系统性能分析
1、系统框图
2、信噪比定义
(1)输入信噪比:
(2)输出信噪比:
(3)调制制度增益:
3、模拟通信系统分析等价模型
即自己产生一个高斯白噪声,加入到调制信号,然后在送入解调器。
4、通信系统新能分析
(1) AM 解调器
AM 信号可用相干解调或者包络检波两种方法解调。对于100% 调制,且调制信号m(t) 是正弦波情况下,相干解调的调制制度增益为GAM = 2/3。对于包络检波来说,在大信噪比情况下它的性能与相干解调器的性能几乎一样。小信噪比的情况下,
解调器输出信噪比随着输入信噪比的减小急剧恶化。这种现象称为解调器的门限效应。
(2)FM 解调器
FM 主要采用鉴频器进行解调。在大的信噪比条件下,调频制度增益与调频指数mf 存在密切关系,加大调制指数可使得调频系统抗噪性能迅速改善,其代价是增加了传输带宽。当输入信噪比下降到一定程度的时候就会出现门限效应,输出信噪比将
急剧恶化。
二、相关源码
function n_t = bandlimit_noise(N,fs,fc,B,n_pow) % 产生特定功率的带限高斯白噪声 % 输入: N - 产生的噪声的长度 % fs - 仿真采样率 % fc - 带限噪声中心频率 % B - 带限噪声的带宽 % n_pow - 带限噪声的功率 % 输出: n_t - 带限噪声%带通阶数 filter_b_L = 4000; %带通设计 filter_b = fir1(4000,[(fc - B/2) / (fs/2) , (fc + B/2) / (fs/2)]); %全带宽功率 n_fullband_pow = n_pow/(B/(fs/2)); %产生噪声信号 noise_t = sqrt(n_fullband_pow) * randn( N + filter_b_L,1); %信号经过带通滤波器 n_t = filter(filter_b,1,noise_t); %滤除前面的零状态响应 n_t = n_t(end-N+1:end);end
调用方法:
% 产生特定功率的带限高斯白噪声 % 输入: N - 产生的噪声的长度 % fs - 仿真采样率 % fc - 带限噪声中心频率 % B - 带限噪声的带宽 % n_pow - 带限噪声的功率 % 输出: n_t - 带限噪声clc,clear;N = 5e5; fs = 20e3; fc = 3e3; B = 400; n_pow = 0.1;t = (1:N)/fs; noise = bandlimit_noise(N,fs,fc,B,n_pow);plot(t,noise);var(noise)
function snr_est = sine_snr_est(y) % 正弦波信噪比估计 % 输入信号序列;输出为信号信噪比(单位dB)N = floor(length(y)/2) * 2;y = y(1:N);y = y.*blackman(N);f_n = abs(fft(y));f_n = f_n(1:N/2);f_pow = abs(f_n).^2;[s_pow_est idx]= max(f_pow);s_pow_idx = [idx-4:idx+4];s_pow_est = sum(f_pow(s_pow_idx));n_pow_est = sum(f_pow) - s_pow_est;snr_est = db(s_pow_est/n_pow_est,'power');end
调用方法:
% 根据参数产生AM信号 % 输入: N - 产生的信号长度 % fs - 仿真采样率 % fm - 调制信号频率 % Am - 调制信号幅度 % yita - 调幅系数 % fc - 载波频率 % Ac - 载波幅度 % 输出:s_t - 已调信号 % s_pow - 已调信号功率clc,clear;%噪声(第一题的) N = 5e4; fs = 20e3; fc = 3e3; B = 400; n_pow = 0.1;%正弦信号 t = ((0:N-1) / fs)'; m_t = sin( 2*pi*fc*t ); m_t_pow = sum(m_t.^2) / N;%产生高斯带通噪声 SNR_in = -10:40; n_pow = m_t_pow./(10.^(SNR_in/10)); for i=1:length(n_pow)n_t = bandlimit_noise(N,fs,fc,B,n_pow(i));sign_in = m_t + n_t;SNR_out(i) = sine_snr_est(sign_in); endplot(SNR_in,SNR_out); xlabel('实际SNR(Si/Ni)'); ylabel('检测SNR(So/No)');
AM性能分析代码:
function snr_db_o = am_receiver(snr_db_i,flag) % 根据输入信噪比snr_db_i,通过仿真确定AM解调器输出信噪比% 仿真参数fs = 20e3;N = 1000000;% 载波参数fc = 2e3;Ac = 1;% 调制信号参数Am = 1;bw = 300;fm = bw/2;yita = 1;% 产生调制信号[s_t,s_pow] = am_modulate(N,fs,fm,Am,yita,fc,Ac);% 加入噪声n_pow = s_pow/(10^(snr_db_i/10));n_t = bandlimit_noise(N,fs,fc,bw,n_pow);s_t = s_t + n_t;% 解调if flag==1r_demod_t = am_demodulate_xianggan(fs,fc,bw,s_t);elser_demod_t = am_demodulate_feixianggan(fs,fc,bw,s_t);end% 输出信号SNR估计snr_db_o = sine_snr_est(r_demod_t);end
其中:AM波形生成代码
function [s_t,s_pow] = am_modulate(N,fs,fm,Am,yita,fc,Ac) % 根据参数产生AM信号 % 输入: N - 产生的信号长度 % fs - 仿真采样率 % fm - 调制信号频率 % Am - 调制信号幅度 % yita - 调幅系数 % fc - 载波频率 % Ac - 载波幅度 % 输出:s_t - 已调信号 % s_pow - 已调信号功率% 时间t,作为横坐标 t = (0:N-1)'/fs; % 产生调制信号 m_t = Am * sin(2*pi*fm*t); % 产生载波信号 c_t = Ac * cos(2*pi*fc*t); % 调制 A0 = Am / yita; s_t = (m_t + A0) .* c_t; s_pow = sum(s_t.^2)/N;end
相干解调:
function r_demod_t = am_demodulate_xianggan(fs,fc,bw,s_t) % AM信号解调,相干 % 输入: fs - 仿真采样率 % fc - 载波频率 % bw - 基带带宽 % s_t - 已调信号 % 输出: r_demod_t - 解调后的信号r_t = s_t; N = length(s_t); t = (0:N-1)'/fs; c_t = cos(2*pi*fc*t); % 本地振荡器波形 mix_t = r_t .* c_t; % 混频% 滤波 b = fir1(20, bw/(fs/2)); % 设计截止频率为fcFIR低通滤波器 filtered_t = filter(b,1,mix_t); % 去除DC分量 r_demod_t = filtered_t - sum(filtered_t)/length(filtered_t);end
非相干解调
function r_demod_t = am_demodulate_feixianggan(fs,fc,bw,s_t) % AM信号解调,非相干 % 输入: fs - 仿真采样率 % fc - 载波频率 % bw - 基带带宽 % s_t - 已调信号 % 输出: r_demod_t - 解调后的信号%半波整流 s_t = s_t .* (s_t > 0);% 滤波 b = fir1(80, bw/(fs/2)); % 设计截止频率为fc/2的FIR低通滤波器 filtered_t = filter(b,1,s_t); %去直流 r_demod_t = filtered_t - sum(filtered_t)/length(filtered_t);end
调用方法:
% 对AM接收机进行性能评估 clc,clear;% 输入SNR从-5dB变化到25dBsnr_db_i = -5:1:25;snr_db_o = zeros(1,length(snr_db_i));for k = 1:length(snr_db_i)snr = snr_db_i(k);snr_db_o(k) = am_receiver(snr,1);end% 绘制图形figure; plot(snr_db_i,snr_db_o); title('AM 相干解调器的“解调输出SNR(So/No) - 输入SNR(Si/Ni)”曲线'); xlabel('输入SNR(Si/Ni)'); ylabel('输出SNR(So/No)');% 输入SNR从-5dB变化到25dBsnr_db_i = -5:1:25;snr_db_o = zeros(1,length(snr_db_i));for k = 1:length(snr_db_i)snr = snr_db_i(k);snr_db_o(k) = am_receiver(snr,2);end% 绘制图形figure; plot(snr_db_i,snr_db_o); title('AM非相干解调器的“解调输出SNR(So/No) - 输入SNR(Si/Ni)”曲线'); xlabel('输入SNR(Si/Ni)'); ylabel('输出SNR(So/No)');
FM性能分析:
function snr_db_o = fm_receiver(snr_db_i,mf) % 根据输入信噪比snr_db_i,通过仿真确定AM解调器输出信噪比% 仿真参数fs = 20e3;N = 1000000;% 载波参数fc = 2e3;Ac = 1;% 调制信号参数Am = 1;bw = 300;fm = bw/2;% 产生调制信号[s_t,s_pow] = fm_modulate(N,fs,fm,Am,mf,fc,Ac);% 加入噪声n_pow = s_pow/(10^(snr_db_i/10));n_t = bandlimit_noise(N,fs,fc,bw,n_pow);s_t = s_t + n_t;% 解调r_demod_t = demod(s_t,fc,fs,'fm');% 输出信号SNR估计snr_db_o = sine_snr_est(r_demod_t);end
其中,FM波形生成代码
function [s_t,s_pow] = fm_modulate(N,fs,fm,Am,mf,fc,Ac) % 根据参数产生FM信号 % fm 调制信号频率(Hz) % Am 调制信号幅度 % fc 载波频率(Hz) % Ac 载波幅度 % mf 调频指数 % N 数据点数 % fs 采样频率kf = mf * 2 * pi * fm / Am;t = (0:N-1)'/fs; % 时间t m_t = Am*sin(2*pi*fm*t); % 调制信号 phi_t = kf*cumsum(m_t)/fs; % 相位积分 s_t = cos(2*pi*fc*t + phi_t); % 已调信号s_pow = sum(s_t.^2) / N;%功率计算end
使用方法:
% 对FM接收机进行性能评估 clc,clear;% 输入SNR从-5dB变化到25dBsnr_db_i = 5:1:20;snr_db_o = zeros(1,length(snr_db_i));figure;hold on;for k = 1:length(snr_db_i)snr = snr_db_i(k);snr_db_o(k) = fm_receiver(snr,0.5);end% 绘制图形plot(snr_db_i,snr_db_o,'r'); for k = 1:length(snr_db_i)snr = snr_db_i(k);snr_db_o(k) = fm_receiver(snr,1);end% 绘制图形plot(snr_db_i,snr_db_o,'g'); for k = 1:length(snr_db_i)snr = snr_db_i(k);snr_db_o(k) = fm_receiver(snr,2);end% 绘制图形plot(snr_db_i,snr_db_o,'b'); for k = 1:length(snr_db_i)snr = snr_db_i(k);snr_db_o(k) = fm_receiver(snr,5);end% 绘制图形plot(snr_db_i,snr_db_o,'k'); for k = 1:length(snr_db_i)snr = snr_db_i(k);snr_db_o(k) = fm_receiver(snr,7);end% 绘制图形plot(snr_db_i,snr_db_o,'y');legend('mf=0.5','mf=1','mf=2','mf=5','mf=7');title('FM 相干解调器的“解调输出SNR(So/No) - 输入SNR(Si/Ni)”曲线'); xlabel('输入SNR(Si/Ni)'); ylabel('输出SNR(So/No)');
转载于:https://www.cnblogs.com/BlueMountain-HaggenDazs/p/4934960.html
通信原理实践(四)——模拟通信系统性能分析相关推荐
- 通信原理第四版(张辉)复习笔记
通信原理第四版(张辉)复习笔记 谨为复习笔记,其中有错误的地方欢迎指出,不足的也欢迎补充.
- 【笔记整理】通信原理第四章复习——数字基带传输
4.1 引言 数字基带信号--数字信号「补充:基带信号(指未经调制的信号.特征是其频谱从零频率或很低频率开始,占据较宽的频带.)基带在传输前,必须经过一些处理或某些变换,比如码型变换.波形变换和频谱变 ...
- 通信原理实践(一)——音频信号处理
一.信号的离散化 1.采样定理: –如果信号是带限的,并且采样频率fs超过信号最高频率的两倍,那么,原来的连续信号可以从采样样本中完全重建出来. 因此在仿真过程中,采样率(fs)是一个非常重要的参数. ...
- 【通信原理】四、信道
目录 无线信道 有线信道 信道的顺序额模型 调制信道模型 编码信道模型 用转移概率描述编码信道的特性,二进制系统中,错误概率为0变1和1变0的概率之和 ![在这里插入图片描述](https://img ...
- 通信原理实践(二)——幅度调制
一.幅度调制,并画出时域和频域波形 1.代码如下: function [ p_n ] = AM_func( N,fs,fm,Am,fc,Ac,Ma ) %UNTITLED 此处显示有关此函数的摘要 % ...
- 基于Matlab的模拟通信实验平台设计,【通信原理仿真实验】通信原理虚拟实验仿真平台的设计和实现_玛雅作文网...
作文「通信原理虚拟实验仿真平台的设计和实现」共有 4564 个字,其中有 2704 个汉字,1316 个英文,162 个数字,382 个标点符号.作者佚名,请您欣赏.玛雅作文网荟萃众多优秀学生作文,如 ...
- matlab仿真限幅发散,GSM通信系统性能分析与MATLAB仿真.doc
GSM通信系统性能分析与MATLAB仿真.doc22页 本文档一共被下载:次,您可全文免费在线阅读后下载本文档. 下载提示 1.本站不保证该用户上传的文档完整性,不预览.不比对内容而直接下载产生的反 ...
- 2022年通信工程专业保研:从四非到浙大工院夏令营面试经验分享(前期准备篇/含通信原理面试真题)
一.个人简介 个人情况:本科四非通信工程专业,排名1/170,CET6(480+),二区SCI论文1篇,主持国家级大创1项,互联网+.挑战杯.节能减排.数学建模竞赛均获国奖 夏令营offer:南开.山 ...
- HIDL示例-JAVA服务创建-Client验证-Android10.0 HwBinder通信原理(四)
摘要:本节主要来讲解Android10.0 JAVA层的HIDL服务创建和JAVA层的Client验证 阅读本文大约需要花费15分钟. 文章首发微信公众号:IngresGe 专注于Android系统级 ...
- Android10.0 Binder通信原理(四)-Native-C\C++实例分析
摘要:本节主要来讲解Android10.0 Binder的Native层实例流程 阅读本文大约需要花费35分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分析,Androi ...
最新文章
- K-Means ++ 和 kmeans 区别
- 保护模式下寻址(易懂)
- window环境使用C++实现WebSocket
- 【Matlab】如何提取矩阵中特定位置的元素?
- 【bzoj4372】烁烁的游戏 动态点分治+线段树
- closewait一直不释放_机床为什么要释放应力?怎么释放应力才好?
- 自定义关键字_Java中的自定义异常
- Delphi编译指令了解学习
- DTCMS插件的制作实例电子资源管理(二)Admin后台页面编写
- C++华氏温度和摄氏温度的转换
- 赶不上春天,无法同其它植物竞相开放
- java替换图片_Java 替换 PPT 中的图片
- MySQL——MHA原理介绍及VIP配置
- 双稳态电路的两个稳定状态是什么_干货 | 常见的脉冲电路到底有何用途和特点?终于了解了!...
- Golang源码探索----GC的实现原理(3)
- Google Chrome谷歌浏览器导入csv账号密码
- Ubuntu图形界面下命令行窗口打开快捷键创建
- Tableau作图——动态图
- git 将暂存区文件提交_git基础命令之提交文件
- OSChina 周四乱弹 —— 只有食物才能收买我的灵魂