Matlab通信仿真系列——带限信道的信号传输

微信公众号上线,搜索公众号小灰灰的FPGA,关注可获取相关源码,定期更新有关FPGA的项目以及开源项目源码,包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等
在这里插入图片描述
本节目录

一、带限信道
二、带限信道信号无ISI的条件
1、带限信道信号基本推导公式
2、升余弦频率响应特性
三、带限信号信道传输的仿真
1、Matlab相关函数
2、升余弦滤波器设计Matlab仿真
3、4-PAM信号的升余弦滤波调制
四、Matlab源码
1、升余弦滤波器设计Matlab仿真源码
2、4-PAM信号的升余弦滤波调制源码

本节内容
一、带限信道

通信信道一般可以用带限线性滤波器来表征,等效低通频率响应为C(f),等效低通冲激响应为c(t)。
信号s(t)在带限信道上传输,等效低通接收信号为rl(t)。
在这里插入图片描述

信号在频率表示为V(f)C(f),若信道带宽限于WHz内,当|f|>W时,C(f)=0,也就是V(f)中频率的绝对值高于W的任何频率分量都不能通过该信道。发送信号的带宽也要限制在WHz。
信道带宽内的频率响应表达式:
在这里插入图片描述

上式中A(f)为幅度响应,θ(f)为相位响应。
包络延时特性:
在这里插入图片描述

无失真信道或理想信道——对于所有的|f|≤W,A(f)为常数,且θ(f)是频率的线性函数,即包络延时特性τ(f)是一个常数。
失真信道——A(f)和τ(f)不是一个常数。
幅度失真——A(f)不是一个常数。
延时失真——τ(f)不是一个常数。
码间干扰ISI——非理想信道频率响应C(f)引起的幅度失真和延时失真,在传输信号的速度与信道带宽相比拟的情况下,连续传输的脉冲波形会受到破坏,使得接收端前后脉冲不再能清晰分开,产生了码间干扰ISI。
二、带限信道信号无ISI的条件
1、带限信道信号基本推导公式

数字调制的等效低通发送信号v(t)
在这里插入图片描述

上式中{In}表示离散信号符号序列;g(t)是一个脉冲且具有带限的频率响应特性G(f),当|f|≥W,G(f)=0。
接收信号表示为:
在这里插入图片描述

上式中n(t)表示加性高斯白噪声。
接收信号通过一个滤波器,以1/T的符合速率抽样。最佳滤波器与接收脉冲匹配的滤波器,其输出为:
在这里插入图片描述

上式中,x(t)表示接收滤波器对输入脉冲h(t)的响应;Ζ(t)是接收滤波器对噪声n(t)的响应。
在t=KT+t0,k=0,1……时刻,对y(t)抽样,t0为信道的传输延时
在这里插入图片描述

上式中,Ik表示在第k个抽样时刻的期望信息符合;Ζk为第k个抽样时刻的加性高斯白噪声;对应的剩下一项表示符号间干扰ISI。
2、升余弦频率响应特性
对于理想信道,当|f|≤W时,C(f)=1,脉冲x(t)具有频谱特性X(f)=|G(f)|^2。
升余弦频率响应特性的信号表达式:
在这里插入图片描述

上式中α表示滚降系数,取值范围[0,1];1/T是符合速率。
当α=0时,升余弦频率响应特性,变成一个理想的,带宽为1/(2T)的理想低通滤波器,频率为1/(2T),也就是所说的Nyquist频率。
当α>0是,信号超过Nyquist频率以外的带宽称为过剩带宽,用Nyquist频率的百分数表示。α=1/2,表示过剩带宽为50%;α=1,表示过剩带宽为100%。
三、带限信号信道传输的仿真
1、Matlab相关函数

Matlab中提供了设计升余弦滤波器的函数rcosine、rcosfir、rcosiir和rcosflt。
其中函数rcosine、rcosfir、rcosiir只能用于设计滤波器;rcosflt既可以设计滤波器,同时对输入数据进行脉冲成形,也可以用设计好的滤波器对输入数据进行脉冲成形。
①[num,den]=rcosine(Fd,Fs,type_flag,r,delay)
用途:设计升余弦或根余弦滤波器。
Fd——输入信号的区域频率;
Fs——滤波器的取样频率;
Fs/Fs——必须是大于1的正整数;
r——滤波器的滚降系数;
delay——滤波器的时延;
type_flag——设计滤波器的类型。
在这里插入图片描述

2、升余弦滤波器设计Matlab仿真

matlab代码示例:
设计一个滚降系数为0.2,
时延为4个符合间隔的FIR升余弦滤波器,
符合采样频率为Fd=1,滤波器采样频率Fs=10,
绘制滤波器冲激响应。
对30个二进制数据序列进行滤波并绘制出前后波形。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、4-PAM信号的升余弦滤波调制

matlab代码示例:
4-PAM调制信号,在发送端和接收端均采用滚降系数为0.25,
时延为5个符合间隔的根升余弦滤波器进行成谱,
符合采样频率为Fd=1,滤波器采样频率Fs=10,
调制信号采用Gray编码,通过awgn信道下的性能,
绘制误比特率和误符号率随Es/N0的变化情况,
Es/N0=0-15dB。

在这里插入图片描述
在这里插入图片描述

四、Matlab源码
1、升余弦滤波器设计Matlab仿真源码

clear all;
clc;
%符号采样频率
Fd=1;
%滤波器采样频率
Fs=10;
%滤波器滚降系数
r=0.2;
%滤波器时延
delay=4;
%设计滤波器
[num,den]=rcosine(Fd,Fs,'default',r,delay);
%滤波器的冲激响应
figure;
impz(num,1);
title('滤波器的冲激响应');
axis([-1 80 -0.5 1.5])
%生成二进制数据序列
x=randi([-1 1],1,30);
%对二进制数据序列进行脉冲成形
[y,ty]=rcosflt(x,Fd,Fs,'filter',num,den);
figure;
t=delay:length(x)+delay-1;
%二进制数据绘图
stem(t,x,'r');
hold on;
%绘制脉冲成形后的数据
plot(ty,y);
legend('二进制数据','脉冲成形后的数据');
axis([-1 40 -2 2])

2、4-PAM信号的升余弦滤波调制源码

clear all;
clc;
%采样点数
numsamp=10;
%发送符合数
num_symbol=100000;
%信噪比
EsN0=0:15;
%4-PAM
M=4;
%Gray编码规则
graycode=[0 1 3 2];
%消息数据
msg=randi([0,3],1,num_symbol);
%Gray映射
msg1=graycode(msg+1);
%4-PAM调制
msgmod=pammod(msg1,M);
%符号采样频率
Fd=1;
%滤波器采样频率
Fs=10;
%滤波器滚降系数
r=0.25;
%滤波器时延
delay=5;
%设计根升余弦滤波器
rrcfilter=rcosine(Fd,Fs,'fir/sqrt',r,delay);
%通过根升余弦滤波器进行脉冲成形
s=rcosflt(msgmod,Fd,Fs,'filter',rrcfilter);
for indx=1:length(EsN0)
    decmsg=zeros(1,num_symbol);
    %通过awgn信道,添加噪声实数部分
    r=awgn(real(s),EsN0(indx)-7,'measured');
    %通过根升余弦滤波器进行相关
    rx=rcosflt(r,Fd,Fs,'Fs/filter',rrcfilter);
    %相关器采样
    rx1=downsample(rx,Fs);
    %去掉延迟
    rx2=rx1(2*delay+1:end-2*delay);
    %判决
    msg_demod=pamdemod(rx2,M);
    %Gray逆映射
    decmsg=graycode(msg_demod+1);
    %求误比特率
    [err,ber(indx)]=biterr(msg,decmsg,log2(M));
    [err,ser(indx)]=symerr(msg,decmsg);
end
semilogy(EsN0,ber,'-ko',EsN0,ser,'-k*',EsN0,1.5*qfunc(sqrt(0.4*10.^(EsN0/10))));
title('4-PAM信号在awgn理想带限信道下的性能');
xlabel('Es/N0');
ylabel('误比特率和误符号率');
legend('误比特率','误符号率','理论误符号率');
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小灰灰的FPGA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值