一、模拟通信系统性能分析

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);
end plot(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==1
r_demod_t = am_demodulate_xianggan(fs,fc,bw,s_t);
else
r_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变化到25dB
snr_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变化到25dB
snr_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变化到25dB
snr_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)');

通信原理实践(四)——模拟通信系统性能分析的更多相关文章

  1. 通信原理实践(五)——2PSK 与2DPSK 通信系统

    一.一些Matlab函数 二.2PSK调制解调,性能分析 1.2PSK调制 (1)图示 (2)Matlab代码 function [ s_t ,bb_t,bits] = psk2_module( nS ...

  2. 通信原理实践(二)——幅度调制

    一.幅度调制,并画出时域和频域波形 1.代码如下: function [ p_n ] = AM_func( N,fs,fm,Am,fc,Ac,Ma ) %UNTITLED 此处显示有关此函数的摘要 % ...

  3. 通信原理实践(一)——音频信号处理

    一.信号的离散化 1.采样定理: –如果信号是带限的,并且采样频率fs超过信号最高频率的两倍,那么,原来的连续信号可以从采样样本中完全重建出来. 因此在仿真过程中,采样率(fs)是一个非常重要的参数. ...

  4. 通信原理实践(六)——基带传输

    一.基带传输引入 1.从数字带通传输说起 以上系统可以等价为: 这里"等价"的假设条件是 •信号通过滤波器不失真 •不存在码间串扰 意义:可以通过评估基带传输系统来获得数字带通传输 ...

  5. 通信原理实践(三)——FM调制

    一.FM调制 1.代码如下: clc,clear; fm = ; % 调制信号频率(Hz) Am = 0.5; % 调制信号幅度 fc = 5e3; % 载波频率(Hz) Ac = ; % 载波幅度 ...

  6. WebSocket原理与实践(四)--生成数据帧

    WebSocket原理与实践(四)--生成数据帧 从服务器发往客户端的数据也是同样的数据帧,但是从服务器发送到客户端的数据帧不需要掩码的.我们自己需要去生成数据帧,解析数据帧的时候我们需要分片. 消息 ...

  7. JMeter—系统性能分析思路(十三)

    参考<全栈性能测试修炼宝典JMeter实战>第九章 性能监控诊断 第二节 系统性能分析思路和第三节 定位分析 系统在工作负载中的性能受到许多因素影响,处理器速度.内存容量.网络或磁盘I/O ...

  8. 基于web的IM软件通信原理分析

    关于IM(InstantMessaging)即时通信类软件(如微信,QQ),大多数都是桌面应用程序或者native应用较为流行,而网上关于原生IM或桌面IM软件类的通信原理介绍也较多,此处不再赘述.而 ...

  9. Socket 通信原理(Android客户端和服务器以TCP&&UDP方式互通)

    转载地址:http://blog.csdn.net/mad1989/article/details/9147661 ZERO.前言 有关通信原理内容是在网上或百科整理得到,代码部分为本人所写,如果不当 ...

随机推荐

  1. php利用svn hooks将程序自动发布到测试环境

    利用svn hooks将php程序自动发布到测试环境 复制仓库hooks目录下的post-commit.tmpl为post-commit cp post-commit.tmpl post-commit ...

  2. 3. javacript高级程序设计-基本概念

    1.1 语法 ECMAScript借鉴了C和其他类C语言的语法 1.1.1 区分大小写 ECMAScript中的一切(变量,函数和操作符)都是区分大小写的,变量test和Test是不同的变量 1.1. ...

  3. SqlDateTime 溢出。

    SqlDateTime 溢出.必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间 解决方法:不要怀疑自己的判断就是数据库字段里的datatime ...

  4. ASM:《X86汇编语言-从实模式到保护模式》第14章:保护模式下的特权保护和任务概述

    ★PART1:32位保护模式下任务的隔离和特权级保护  这一章是全书的重点之一,这一张必须要理解特权级(包括CPL,RPL和DPL的含义)是什么,调用门的使用,还有LDT和TSS的工作原理(15章着重 ...

  5. C Primer Plus_第四章_字符串和格式化输入输出_编程练习

    Practice 1.输入名字和姓氏,以"名字,姓氏"的格式输出打印. #include int main(void) { char name[20]; char family[2 ...

  6. POJ 3597 Polygon Division (DP)

    题目链接 题意:把一个正多边形分成数个三角形或者四边形,问有多少种方案. 题解: 如果分出的全为三角形的话,那就是正多边形三角剖分问题.它的结果就是Catalan数.现在也可以划分出四边形的话,可以采 ...

  7. 用jquery怎么实现点击显示,再一次点击隐藏

    html代码: <button>点击</button> <div class="div"></div> css代码: <sty ...

  8. August 13th 2016 Week 33rd Saturday

    What makes life dreary is the want of motive. 没有目标与动力,生活便会郁闷无光. Without dreams and hope, there will ...

  9. 数独挑战(codevs 2924)

    2924 数独挑战  时间限制: 1 s  空间限制: 1000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果     题目描述 Description “芬兰数学家因卡拉,花费3 ...

  10. SQLServer自定义函数简单演示

    CREATE FUNCTION [ schema_name. ] function_name ( [ { @parameter_name [ AS ][ type_schema_name. ] par ...