BSC信道是二元对称信道(Binary Symmetric Channel)的简称。它的输入和输出都只有0和1两种符号,并且发送0而接收到1,以及发送1而收到0(即误码)的概率相同,所以称信道是对称的。此时条件差错概率(conditional probability)由p表示。二进制对称信道的转移概率下图所示:

利用MATLAB编程实现该信道,并且将图像通过该信道对比与系统函数bsc的差异发现结果一致,废话不多说,先上核心代码:

function pic = bsc1(pic,p)
pic = double(pic);
for i = 1:length(pic(1,:))for j = 1:length(pic(:,1))px = rand();if px < ppic(i,j) = abs(pic(i,j)-1);endend
end

其中pic是图像数据,p为转移概率,利用double将其转换为数值数组,ij分别遍历图像的行列数据,每次进行rand取0-1随机数,小于p就产生误码,由于01之间转换的特殊性,一个格式下即减一取绝对值就可完成,至此函数部分完成。对于异或等或许能提高函数运算效率,不过我对这些逻辑运算不是太感冒,还是决定利用循环来做。

接下来进行验证:

图一:(从数字图像处理课上扒来的图像,手动滑稽)

首先对图像进行二值化,imbinarize是二值化的函数,在MATLABr2014我使用的是im2bw,不过在r2018版本提醒使用imbinarize,这两个效果目测是一样的。接着用函数进行绘图,由于要求每次更改p中数值要让窗口中每个结果的title随之变化,所以使用title(['p =',num2str(变量)]),同时为了分辨三个figure生成的窗口,利用figure(‘name’,‘窗口名’)进行处理,不难发现用这种循环是可以完成BSC信道的,当然运算速度方面没做过深究,欢迎大佬指正。

clear all;close all;clc;
%% 图像二值化
pic = imread('F:\Donshow\Study\信息论与编码实验\camema.jpg');
figure('name','图像二值化');
subplot 121;imshow('camema.jpg');title('原图');
twopic = imbinarize(pic);
subplot 122;imshow(twopic);title('二值化');
%% 数据初始化
p = [0,0.25,0.5,0.75,1];
twopic = double(twopic);
%% 利用系统函数bsc
figure('name','图像通过系统函数bsc信道');
for i = 1:length(p)twopic1 = bsc(twopic,p(i));subplot(3,2,i);imshow(twopic1);title(['p = ',num2str(p(i))]);
end
%% 利用自己编写的函数bsc1
figure('name','图像通过自己编写函数bsc1信道');
for i = 1:length(p)twopic1 = bsc(twopic,p(i));subplot(3,2,i);imshow(twopic1);title(['p = ',num2str(p(i))]);
end

运行结果:

图二:figure1:图像二值化

图三:figure2:图像通过系统bsc函数

图四:figure3:图像通过利用循环完成的bsc信道

对比图三图四发现,符合要求。

写代码时查阅的一些资料也分享一下吧:

Matlab学习笔记 figure函数

Matlab中title函数使用

MATLAB完成BSC信道相关推荐

  1. matlab实现瑞利信道需要的步骤,基于Matlab的瑞利信道仿真.docx

    移动通信期中论文 论文题目:基于Matlab的瑞利信道仿真Title:Rayleigh fading simulation based on Matlab 学院:信息学院专业:通信工程姓名:888 x ...

  2. 瑞利信道matlab,matlab中瑞利信道仿真求助。

    各位好: 想咨询一个matlab仿真瑞利信道的问题. 最近在学习文章<Blind Symbol Synchronization Based on Cyclic Prefix for OFDM S ...

  3. matlab仿真散射信道,无线信道建模原理及SUI-3信道的MATlab仿真.doc

    无线信道建模原理及SUI-3信道的MATlab仿真 无线衰落信道及仿真 无线衰落信道 在无线移动信道中,信号从发射天线经过复杂的传播环境到达接收天线,接收信号为各反射.衍射和散射分量以及信道噪声的复合 ...

  4. matlab多径信道模型,基于matlab的无线多径信道建模与仿真分析

    基于matlab的无线多径信道建模与仿真分析 基于MATLAB的无线多径信道建模与仿真分析 摘 要:对于无线通信, 衰落是影响系统性能的重要因素, 而不同形式的衰落对于信号产生的影响 也不相同.本文在 ...

  5. 基于MATLAB的MIMO信道估计(附完整代码与分析)

    目录 一. 介绍 二. MATLAB代码 三. 运行结果与分析 3.1 均方误差(MSE)与训练功率(dB)的关系 3.2 不同信道估计方法性能对比 一. 介绍 本篇将在MATLAB的仿真环境中对比M ...

  6. matlab多径信道模型,多径时变信道模型的仿真与性能分析课程设计(样例3)

    <多径时变信道模型的仿真与性能分析课程设计.doc>由会员分享,可免费在线阅读全文,更多与<多径时变信道模型的仿真与性能分析课程设计>相关文档资源请在帮帮文库(www.woc8 ...

  7. Matlab高斯白噪声信道仿真

    信号叠加一个均值为0.2,方差为0.5的高斯噪声后进行信号和噪声功率谱密度分析 信道噪声 Matlab含有高斯白噪声的函数库,可以直接调用: u = normrnd(0.2,sqrt(0.5),[1, ...

  8. 基于matlab的瑞利信道模拟和仿真

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 瑞利分布是一个均值为0,方差为σ²的平稳窄带高斯过程,其包络的一维分布是瑞利分布.其表达式及概率密度 ...

  9. matlab如何实现信道衰落,Matlab下多径衰落信道的仿真

    衰落信道参数包括多径扩展和多普勒扩展.时不变的多径扩展相当于一个延时抽头滤波器,而多普勒扩展要注意多普勒功率谱密度,通常使用Jakes功率谱.高斯.均匀功率谱. 多径衰落信道由单径信道叠加而成,而单径 ...

最新文章

  1. antd table column 列表渲染
  2. centos redis 自动重启脚本
  3. 推荐系统的应用案例剖析
  4. CSS3 里添加自定义字体
  5. USB 3G驱动和USB HOST驱动加载
  6. 仿射加密简述和Win32版本实现
  7. UI实用素材|下拉菜单细节设计,分层呈现
  8. sqlserver 单条update 特别慢_vacuum full执行慢怎么办?
  9. oracle虚拟机配置,虚拟机安装和配置Oracle PDF 下载
  10. 【TSP】基于matlab粒子群算法求解旅行商问题【含Matlab源码 445期】
  11. nodejs后台系列--第四篇--koa(二)
  12. 16种常用的数据分析方法汇总
  13. qq邮箱,网易邮箱,smtp邮箱发邮件
  14. java 网段_java IP地址网段计算的示例代码
  15. :实用 FRIDA 进阶 --- objection :内存漫游、hook anywhere、抓包
  16. python3数据分析面试题--找出出现次数最多的名字并统计次数
  17. 【运营】新产品推广流程整理
  18. mysql写了代码如何看表_mysql之单表查询__我自己敲的代码
  19. Java OOM问题分析 学习
  20. 转:开源图形库 c语言-图形图像库 集合

热门文章

  1. Linux系统中,python需要import上一级目录文件的解决办法
  2. 不用的MacBook这样处理比较好
  3. 【Jmeter 简单使用】
  4. Oracle导出数据库数据为dmp文件(存在空表情况)
  5. js 中 true == 1 false == 0
  6. 微信大转盘 java_[Java教程]使用CSS3+jquery.js 实现微信抽奖转盘效果
  7. C语言char类型的存储
  8. 课程设计 单项选择题标准化考试系统
  9. You can't specify target table 'sys_user_function' for update in FROM clause
  10. 苹果小白笔记本_笔记本买win还是买Mac?谈一谈我选择Macbook的六大理由