通信系统的最佳线性均衡器(1)---维纳滤波线性均衡

        本篇文章是博主在通信等领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对通信等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅解。文章分类在通信领域笔记

          通信领域笔记(4)---《通信系统的最佳线性均衡器(1)---维纳滤波线性均衡》

通信系统的最佳线性均衡器(1)---维纳滤波线性均衡

目录

1. 背景分析

2 理论分析推导      

3 MATLAB 仿真 FIR 最佳线性滤波器

4 总结分析​​​​​​​


1. 背景分析

        在通信系统中,发射机发送的信号通过信道传输到接收机,传输信道有不同 的媒体,主要分成有线和无线两类。以无线为例,发射信号通过无线信道传播, 经过多径到达接收机而被接收,这些多径是由于信道中的信号经反射、折射和衍射形成的。多径传播产生的接收信号是由多个延迟衰落的发射信号叠加而成的。因此接收机接收到的信号中存在着串扰和畸变,直接进行检测会产生较大的误码。一种改善信号检测性能的装置是信道均衡器,它的目标是补偿信道造成的串扰和畸变。通信系统的最佳线性均衡器通常是指使用线性滤波器来抵消信道引起的失真和干扰,以尽可能恢复发送端发送的信号。最佳的线性均衡器设计需要考虑到信道的特性以及发送信号的统计特性。一种常见的实现方式是使用维纳-霍夫等式,它可以得到一个最小均方误差的解。另外,常用的线性均衡器包括莱斯滤波器、线性均衡器和决策反馈均衡器等。

        维纳滤波器是一种最佳线性无失真滤波器,它的设计考虑了信道的特性和发送信号的统计特性,以最小化输出信号与原始信号之间的均方误差。因此,维纳滤波器可以用作通信系统中的线性均衡器,帮助抵消信道引起的失真和干扰。考虑一个简化的线性自适应均衡器的原理性实验框图如图 1 所示。随机数据产生器产生双极性的随机序列𝑠(𝑛),它随机地取±1。随机信号通过一个信道传输,信道性质可由一个三系数 FIR 滤波器近似,滤波器系数分别是 0.30.90.3。在信道输出端加入方差为𝜎 2的高斯白噪声。设计一个有 11 个权系数的 FIR 结构的维纳滤波器作为本问题的均衡器,为使均衡器的权系数接近对称,令均衡器的期望响应为𝑠(𝑛 − 7)。在几个选定的信噪比下,进行实验。


2 理论分析推导      

        在维纳滤波器设计中,最常用的是 FIR 维纳滤波器。这是因为 FIR 滤波器具有稳定性和实现上的优势,其设计更为直观和容易控制。此外,FIR 滤波器可以 较为灵活地满足各种滤波要求,并且不会引入稳定性和因果性方面的问题。相比 之下,因果 IIR 和非因果 IIR 维纳滤波器在实际设计中使用较少,因为其设计和实现更为复杂,对系统稳定性和实时性要求较高。此处以 FIR 维纳滤波器为例进 行分析。 已知𝒚(𝒏)是期望的输出信号,𝒙(𝒏)是输入信号,𝒆(𝒏)是误差信号。𝒚(𝒏)𝒙(𝒏) 是均值为 0 的平稳的离散时间信号,二阶矩已知。

2.1 维纳-霍夫方程(Wiener-Hopf 方程)


3 MATLAB 仿真 FIR 最佳线性滤波器

        首先生成双极性随机序列𝑠(𝑛),通过模拟信道特性的三系数 FIR 滤波器,并添加信噪比为 20dB 的高斯白噪声,得到维纳滤波器的输入信号序列𝑥(𝑛),期望 信号为原始双极性随机序列𝑠(𝑛)

clc
clear all
close all
% 生成双极性随机序列s(n)
N = 500;
s = sign(randn(1, N));


% 模拟信号通过信道传输
h = [0.3, 0.9, 0.3]; % FIR滤波器系数
x = filter(h, 1, s); % 信号通过FIR滤波器
x = x(2:end);
SNR_dB = 10; % 信噪比为10dB
r = awgn(x,SNR_dB,'measured');%信号加入高斯白噪声信号
figure
plot(s(1:200));
hold on
plot(r(1:200));
legend('双极性随机序列s(n)','加噪后信号x(n)');

        求输入序列𝑥(𝑛) 的自相关函数R 𝑥𝑥 (𝑛) 以及期望序列与输入序列的互相关函数 R𝑦𝑥(𝑛) 根据维纳 - 霍夫方程,可以求得维纳滤波器系数。此处选择设计 11 阶( 12 个参数)的维纳滤波器。
%%FIR最佳线性滤波器
Rx = xcorr(r,10);%输入自相关
Rxyd = xcorr(r,s,10);%输入与期望输出的互相关
R0=[Rx(10) Rx(11) Rx(12) Rx(13) Rx(14) Rx(15) Rx(16) Rx(17) Rx(18) Rx(19) Rx(20) Rx(21);
    Rx(11) Rx(10) Rx(11) Rx(12) Rx(13) Rx(14) Rx(15) Rx(16) Rx(17) Rx(18) Rx(19) Rx(20);
    Rx(12) Rx(11) Rx(10) Rx(11) Rx(12) Rx(13) Rx(14) Rx(15) Rx(16) Rx(17) Rx(18) Rx(19);
    Rx(13) Rx(12) Rx(11) Rx(10) Rx(11) Rx(12) Rx(13) Rx(14) Rx(15) Rx(16) Rx(17) Rx(18);
    Rx(14) Rx(13) Rx(12) Rx(11) Rx(10) Rx(11) Rx(12) Rx(13) Rx(14) Rx(15) Rx(16) Rx(17);
    Rx(15) Rx(14) Rx(13) Rx(12) Rx(11) Rx(10) Rx(11) Rx(12) Rx(13) Rx(14) Rx(15) Rx(16);
    Rx(16) Rx(15) Rx(14) Rx(13) Rx(12) Rx(11) Rx(10) Rx(11) Rx(12) Rx(13) Rx(14) Rx(15);
    Rx(17) Rx(16) Rx(15) Rx(14) Rx(13) Rx(12) Rx(11) Rx(10) Rx(11) Rx(12) Rx(13) Rx(14);
    Rx(18) Rx(17) Rx(16) Rx(15) Rx(14) Rx(13) Rx(12) Rx(11) Rx(10) Rx(11) Rx(12) Rx(13);
    Rx(19) Rx(18) Rx(17) Rx(16) Rx(15) Rx(14) Rx(13) Rx(12) Rx(11) Rx(10) Rx(11) Rx(12);
    Rx(20) Rx(19) Rx(18) Rx(17) Rx(16) Rx(15) Rx(14) Rx(13) Rx(12) Rx(11) Rx(10) Rx(11);
    Rx(21) Rx(20) Rx(19) Rx(18) Rx(17) Rx(16) Rx(15) Rx(14) Rx(13) Rx(12) Rx(11) Rx(10);];
R1=[Rxyd(10) Rxyd(11) Rxyd(12) Rxyd(13) Rxyd(14) Rxyd(15) Rxyd(16) Rxyd(17) Rxyd(18) Rxyd(19) Rxyd(20) Rxyd(21)]';
h = (R0\R1);%滤波器系数
out_signal = filter(h, 1, r);%输出信号

        由上图可知,该维纳滤波器基本恢复出的信号与原始双极性随机序列𝑠(𝑛) 仍 有一定的差距,误差值未收敛。但是从趋势上来看,已基本符合双极性随机序列𝑠(𝑛) 的跳变趋势。
        考虑到加噪后的信号仍存在一定的跳变趋势,故降低信噪比至 10dB 再次进行实验。

        由图知,减小信噪比后,加噪后信号波动变大,滤波器误差随着信噪比的减小而增大了,效果并不出众。由于 FIR 最佳线性滤波器计算得到的滤波器参数只是使用了 12 个输出序列进行运算,并没有进行迭代过程,故计算出的滤波器参数并不是最优的,因此考虑使用自适应滤波器的方法来滤除高斯噪声。(此处只是提前使用自适应算法,改进滤波效果,具体自适应算法的实验在 3.2

        在 20dB 的信噪比下,利用 LMS 自适应滤波器进行实验,

        由上图可知,LMS 自适应算法的误差曲线处于收敛趋势,且进行到大约 250 次迭代时,误差曲线基本收敛。与 FIR 最佳线性滤波器相比,均衡后的信号序列更加贴近期望信号,效果更好。


4 总结分析

        维纳滤波器与常规滤波器相比,在抑制信道失真和噪声方面表现出良好的效果。但在动态信道或噪声较大的通信系统,维纳滤波器的效果会减弱。在算法设计上,需要注意信号时刻对齐的问题。


     文章若有不当和不正确之处,还望理解与指出。由于部分文字、图片等来源于互联网,无法核实真实出处,如涉及相关争议,请联系博主删除。如有错误、疑问和侵权,欢迎评论留言联系作者,或者私信联系作者。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/724139.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

windows cmd bat 批处理脚本找到监听端口并并杀掉进程 nestat -ano

echo off rem 终止正在监听在端口8888上的进程 rem tokens5 表示第五个token for /f tokens5 %%p in (netstat -ano ^| findstr 8888) do ( set pid%%p ) echo xxxx %pid% rem xxxx TCP [::]:8888 [::]:0 LISTENING 2720 taskkill /pid %pid% /f if %errorlevel% equ 0 ( echo …

ARM功耗管理框架之PPU

安全之安全(security)博客目录导读 思考:功耗管理框架?SCP?PPU?LPI?之间的关系?如何配合? 目录 一、功耗管理框架中的PPU 二、PPU的结构与连接关系 三、PPU操作模式和电源模式及其之间的转…

如何准备大模型面试:迈向成功职业道路的关键一步

前言 在当今日新月异的科技领域中,大模型技术正以其卓越的智能和无限的可能性,吸引着越来越多的企业和求职者。面对大模型领域的职位面试,如何充分准备,展现自己的专业能力和潜力,成为了每位求职者关注的焦点。本文将…

SK投屏助手:电脑控制手机,游戏与App轻松畅玩

SK投屏助手让您将手机画面完美投射至电脑屏幕,而且不止于此!现在,您可以利用电脑反向控制手机,轻松操作各种游戏和应用程序。无论是在家中放松还是在工作中提高效率,SK投屏助手都能成为您的得力助手。立即体验无缝连接…

微服务必备容器化技术

文章目录 docker介绍与安装及上手应用什么是容器化技术?为什么需要学习docker?如何理解dockerdocker下载与安装docker的基础组成docker体验 dockerfile介绍并创建go-zero环境容器docker的基础组成从容器构建属于go环境的容器基于dockerfile构建go容器镜像…

没有名为 keras.preprocessing 的模块

估计是因为版本原因 我安装的是 3.3.3版本 >>> import keras >>> print(keras.__version__) 3.3.3 keras.preprocessing.image 将 keras.preprocessing.image 改为 from keras_preprocessing.image 之后报image_type啥的错误,后面查找之后…

java问题解决: IDEA java 警告 源发行版 17 需要目标发行版 17

效果图 问题原因 jdk和你实际安装的jdk不匹配 解决问题 1.点击File -->Project Structure–>Project 修改这两处 2. 在Project Structure–>Modules中的红框位置都要调整对应版本 3、点击File–>settings–>java compile将对应框的版本修改成对应版本即可–改…

运算放大器(运放)缓冲器(跟随器)电路

运算放大器(Operational Amplifier) 运算放大器(Operational Amplifier)是一种差分放大器,具有高输入电阻、低输出电阻、高开放增益(开环增益),并具有可放大输入引脚与-输入引脚间的电压差的功能。 设计目标 输入输入输出输出频…

揭开AI大模型的神秘面纱:一文看懂GPT-4的核心技术

近年来,人工智能(AI)技术迅猛发展,特别是AI大模型的崛起,给人们的生活和工作带来了深远的影响。作为其中的佼佼者,GPT-4备受瞩目。那么,GPT-4的核心技术究竟是什么?它是如何运作的&a…

Chrome插件开发入门:手把手教你创建第一个扩展

问题背景 最近,客户发布了一个新的任务 —— 开发一个Chrome插件。之前没有这方面的开发经验,准备想学习一下这块的内容,我发现网上的大多数视频都是几年前的,开发版本都是基于MV2,当前谷歌已经开始使用MV3&#xff0…

python使用哪种数据库

MySQL 是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关…

python flask配置邮箱发送功能,使用flask_mail模块

🌈所属专栏:【Flask】✨作者主页: Mr.Zwq✔️个人简介:一个正在努力学技术的Python领域创作者,擅长爬虫,逆向,全栈方向,专注基础和实战分享,欢迎咨询! 您的点…

【C++高阶】高效搜索的秘密:深入解析搜索二叉树

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C “ 登神长阶 ” 🤡往期回顾🤡:C多态 🌹🌹期待您的关注 🌹🌹 ❀二叉搜索树 📒1. 二叉搜索树&…

学习笔记——路由网络基础——路由度量值

3、路由度量值 (1)基本概念 路由度量值表示到达这条路由所指目的地址的代价。度量值数值越小越优先,度量值最小路由将会被添加到路由表中。度量值很多时候被称为开销(Cost)。 路由度量(路由开销 cost)对于同一个路由协议,当到达某目标网段有多条路由供…

适配不同数据库厂商方案

背景 在对国产化数据有要求的时候,我们会做对 达梦、海量等数据库的配置。 有些SQL 以前没有写成标准SQL; 那么适配的时候怎么办呢?改成标准SQL。 如果不好改呢?比如SQL比较复杂等,需要判断 当前是哪个厂商的数据库…

HTML星空特效

目录 写在前面 完整代码 代码分析 运行效果 系列文章 写在后面 写在前面 100行代码实现HTML星空特效。 完整代码 全部代码如下。 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&g…

数据结构与算法1

一、概述 数据结构&#xff08;逻辑结构、存储结构、算法&#xff09; 数据项 ∈ 数据元素(记录) ∈ 数据。 数据元素&#xff08;结点&#xff09;&#xff1a;数据的基本单位。数据项&#xff1a;不可分割&#xff0c;最小数据单位。数据对象 &#xff1a;性质相同的数据元素…

HTTP学习记录(基于菜鸟教程)

文章目录 1.简介1.1常用的HTTP方法1.2Http版本1.3注意事项 2.Https3.Http消息结构3.1客户端请求消息3.2响应消息 4.常见的响应头5.HTTP状态码6.Http content-type在这里插入图片描述 7.MIME类型8.HTTP2 1.简介 Http&#xff0c;被称为超文本传输协议&#xff0c;HyperText Tran…

RK3588 Android12音频驱动分析全网最全

最近没有搞音频相关的了&#xff0c;在搞BMS, 把之前的经验总结一下。 一、先看一下Android 12音频总架构 从这张图可以看到音频数据流一共经过了3个用户空间层的进程&#xff0c;然后才流到kernel驱动层。Android版本越高&#xff0c;通用性越高&#xff0c;耦合性越低&#…

python flask 入门-helloworld

学习视频链接&#xff1a; 01-【前奏】课程介绍_哔哩哔哩_bilibili 1.安装flask pip install flask 踩坑记&#xff1a;本机不要连代理&#xff0c;否则无法install 提示报错valueError: check_hostname requires server_hostname 2.程序编写 在根目录下创建 app.py fr…