一、基带传输引入

1、从数字带通传输说起

以上系统可以等价为:

这里“等价”的假设条件是
•信号通过滤波器不失真
•不存在码间串扰

意义:可以通过评估基带传输系统来获得数字带通传输系统性能

 

2、两个模型SNR的关系

(1)假设带通传输系统中,2PSK信号功率为1/2,占用带宽为2,噪声功率为20(带宽2 )

(2)其等效基带传输系统的参数为基带功率1,占用带宽 ,噪声功率为20(带宽 )

(3)带通系统信噪比为时,其等效基带传输系统的信噪比为2

 

3、数字基带传输学习理由

 

4、教材中的2PSK传输系统分析

 

5、发送(成型)滤波器

 

6、码间串扰

(1)压缩了信号带宽必然带来时域信号的延长,带来了码元之间的干扰

(2)带宽越窄,拖尾就越长

(3)寻求一种发送波形(成形滤波器),使得在其他码元的位置,拖尾的值为0,即无码间串扰

(4)无码间串扰条件

(5)经常使用的成形滤波器

 

7、最佳接受滤波器

(1)发送滤波器与接收滤波器共轭匹配

(2)接收滤波器后的抽样点必须满足无码间干扰条件。因此,发送滤波器和接收滤波器(以及信道)的串联必须满足Nyquist第一准则

(3)发送滤波器和接收滤波器在工程中通常使用根升余弦滤波器(SRRC)

8、一个demo

sym_rate = 1000;                                           % 数据率1000bps
sa_per_sym = 8; % 采样率除以数据率
% 即一个码元长度有多少个采样点 fs = sym_rate * sa_per_sym; % 采样率
rolloff = 0.5; % 滚降系数
N = 100; % 比特数据长度 % 设计根升余弦滤波器,阶数为span*sa_per_sym, 滤波器延迟为 span*sa_per_sym/2 个样点
span = 20;
flt_b = rcosdesign(rolloff, span, sa_per_sym, 'sqrt');
flt_delay = span * sa_per_sym / 2; % 发送
bits = randint(N,1); % 信源产生随机
bb_ori = -2*bits + 1; % 码型变换(注意是一个bit对应一个点)
bb_pulse = upsample(bb_ori, sa_per_sym); % 插0获得冲激序列 s_t = filter(flt_b, 1, bb_pulse); % 冲激序列通过成形滤波器获得发送波形 pow_s = 1/sa_per_sym; % 基带发送信号的功率
B = (1 + rolloff) * sym_rate / 2; % 基带发送信号带宽(成形后) % 接收
r_t = s_t; % 无噪声情况
r_match_t = filter(flt_b, 1, r_t); % 匹配滤波器 %抽样判决
decision_idx = (1+(flt_delay+flt_delay)):sa_per_sym:length(r_match_t);
r_sampled = r_match_t(decision_idx); recv_bits = zeros(length(r_sampled),1);
recv_bits(r_sampled < 0) = 1;

 

PS:低通噪声信号生成:

function n_t=lowlimit_noise(N,fs,B,n_pow)
% 产生特定功率的带限高斯白噪声
% 输入: N - 产生的噪声的长度
% fs - 仿真采样率
% B - 低通噪声的带宽
% n_pow - 低通噪声的功率
% 输出: n_t - 带限噪声 %低通阶数
filter_b_L = 4000;
%低通设计
filter_b = fir1(filter_b_L,B/(fs/2));
%全带宽功率
n_fullband_pow = fs*n_pow/(2*B);
%产生噪声信号
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

通信原理实践(六)——基带传输的更多相关文章

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

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

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

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

  3. 通信原理实践(四)——模拟通信系统性能分析

    一.模拟通信系统性能分析 1.系统框图 2.信噪比定义 (1)输入信噪比: (2)输出信噪比: (3)调制制度增益: 3.模拟通信系统分析等价模型 即自己产生一个高斯白噪声,加入到调制信号,然后在送入 ...

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

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

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

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

  6. SSL 通信原理及Tomcat SSL 配置

    SSL 通信原理及Tomcat SSL 双向配置 目录1 参考资料 .................................................................. ...

  7. Java 下 SSL 通信原理及实例

    有关SSL的原理和介绍在网上已经有不少,对于Java下使用keytool生成证书,配置SSL通信的教程也非常多.但如果我们不能够亲自动手做一个SSL Sever和SSL Client,可能就永远也不能 ...

  8. SSL 通信原理及Tomcat SSL 双向配置

    SSL 通信原理及Tomcat SSL 双向配置 目录1 参考资料 .................................................................. ...

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

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

随机推荐

  1. Java for LeetCode 205 Isomorphic Strings

    Given two strings s and t, determine if they are isomorphic. Two strings are isomorphic if the chara ...

  2. ABAP 内表的行列转换-发货通知单-打印到Excel里-NEW

    *********************************************************************** * Title           : ZSDF002  ...

  3. [Android] how to get facebook profile

    Bundle params = new Bundle(); params.putString("fields", "id,email,gender,cover,pictu ...

  4. C#有关日期的使用方法

    DateTime dt = DateTime.Now; //当前时间 DateTime startWeek = dt.AddDays( - Convert.ToInt32(dt.DayOfWeek.T ...

  5. win7,ubuntu双系统——重装win7后如何恢复ubuntu引导

    磁盘分区——windows 7自带分区工具实现 磁盘分区——PQ硬盘分区魔术师 win7,ubuntu双系统的安装——正式安装 win7,ubuntu双系统的安装——卸载ubuntu 讲述了我的  w ...

  6. JAVA中的Calendar得到当前时间的年份、月份、日期

    import java.util.Calendar; public class CalendarTest {        public static void main(String[] args) ...

  7. 【python】类中的self

    在python的类中,经常会写self,代表对象自己.如下例: #coding=utf-8 class Foo: def __init__(self, name): self.name = name ...

  8. LeetCode 326 Power of Three

    Problem: Given an integer, write a function to determine if it is a power of three. Could you do it ...

  9. objective-c数组笔记

    数组与可变数组 2015年6月14日 1.数组 数组的初始化方式 1.初始化一个空数组 NSArray *array = [[NSArray alloc] init];//不可变数组,数组内不可以添加 ...

  10. CROSS JOIN连接用于生成两张表的笛卡尔集

    将两张表的情况全部列举出来 结果表: 列= 原表列数相加 行= 原表行数相乘     CROSS JOIN连接用于生成两张表的笛卡尔集. 在sql中cross join的使用: 1.返回的记录数为两个 ...