通信原理实践(六)——基带传输
一、基带传输引入
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.采样定理: –如果信号是带限的,并且采样频率fs超过信号最高频率的两倍,那么,原来的连续信号可以从采样样本中完全重建出来. 因此在仿真过程中,采样率(fs)是一个非常重要的参数. ...
- 通信原理实践(五)——2PSK 与2DPSK 通信系统
一.一些Matlab函数 二.2PSK调制解调,性能分析 1.2PSK调制 (1)图示 (2)Matlab代码 function [ s_t ,bb_t,bits] = psk2_module( nS ...
- 通信原理实践(四)——模拟通信系统性能分析
一.模拟通信系统性能分析 1.系统框图 2.信噪比定义 (1)输入信噪比: (2)输出信噪比: (3)调制制度增益: 3.模拟通信系统分析等价模型 即自己产生一个高斯白噪声,加入到调制信号,然后在送入 ...
- 通信原理实践(三)——FM调制
一.FM调制 1.代码如下: clc,clear; fm = ; % 调制信号频率(Hz) Am = 0.5; % 调制信号幅度 fc = 5e3; % 载波频率(Hz) Ac = ; % 载波幅度 ...
- 通信原理实践(二)——幅度调制
一.幅度调制,并画出时域和频域波形 1.代码如下: function [ p_n ] = AM_func( N,fs,fm,Am,fc,Ac,Ma ) %UNTITLED 此处显示有关此函数的摘要 % ...
- SSL 通信原理及Tomcat SSL 配置
SSL 通信原理及Tomcat SSL 双向配置 目录1 参考资料 .................................................................. ...
- Java 下 SSL 通信原理及实例
有关SSL的原理和介绍在网上已经有不少,对于Java下使用keytool生成证书,配置SSL通信的教程也非常多.但如果我们不能够亲自动手做一个SSL Sever和SSL Client,可能就永远也不能 ...
- SSL 通信原理及Tomcat SSL 双向配置
SSL 通信原理及Tomcat SSL 双向配置 目录1 参考资料 .................................................................. ...
- 基于web的IM软件通信原理分析
关于IM(InstantMessaging)即时通信类软件(如微信,QQ),大多数都是桌面应用程序或者native应用较为流行,而网上关于原生IM或桌面IM软件类的通信原理介绍也较多,此处不再赘述.而 ...
随机推荐
- Java for LeetCode 205 Isomorphic Strings
Given two strings s and t, determine if they are isomorphic. Two strings are isomorphic if the chara ...
- ABAP 内表的行列转换-发货通知单-打印到Excel里-NEW
*********************************************************************** * Title : ZSDF002 ...
- [Android] how to get facebook profile
Bundle params = new Bundle(); params.putString("fields", "id,email,gender,cover,pictu ...
- C#有关日期的使用方法
DateTime dt = DateTime.Now; //当前时间 DateTime startWeek = dt.AddDays( - Convert.ToInt32(dt.DayOfWeek.T ...
- win7,ubuntu双系统——重装win7后如何恢复ubuntu引导
磁盘分区——windows 7自带分区工具实现 磁盘分区——PQ硬盘分区魔术师 win7,ubuntu双系统的安装——正式安装 win7,ubuntu双系统的安装——卸载ubuntu 讲述了我的 w ...
- JAVA中的Calendar得到当前时间的年份、月份、日期
import java.util.Calendar; public class CalendarTest { public static void main(String[] args) ...
- 【python】类中的self
在python的类中,经常会写self,代表对象自己.如下例: #coding=utf-8 class Foo: def __init__(self, name): self.name = name ...
- 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 ...
- objective-c数组笔记
数组与可变数组 2015年6月14日 1.数组 数组的初始化方式 1.初始化一个空数组 NSArray *array = [[NSArray alloc] init];//不可变数组,数组内不可以添加 ...
- CROSS JOIN连接用于生成两张表的笛卡尔集
将两张表的情况全部列举出来 结果表: 列= 原表列数相加 行= 原表行数相乘 CROSS JOIN连接用于生成两张表的笛卡尔集. 在sql中cross join的使用: 1.返回的记录数为两个 ...