定义 原始信号:x 噪声信号:n 信噪比:SNR 信号长度:N def wgn(x, snr): snr = 10**(snr/10.0) xpower = np.sum(x**2)/len(x) npower = xpower / snr return np.random.randn(len(x)) * np.sqrt(npower) t = np.arange(0, 1000000) * 0.1 x = np.sin(t) n = wgn(x, 6) xn = x+n # 增加了6dBz信噪…
Matlab实现加性高斯白噪声信道(AWGN)下的digital调制格式识别分类 内容大纲 加性高斯白噪声信道(AWGN)下的digital调制格式识别分类 (1. PSK; 2. QPSK; 3.8QAM; 4. 16QAM; 5. 32QAM; 6.64QAM) 100次独立仿真,识别正确率 vs SNR 设计 我的实现方法是 基于高阶累积量的信号特征的识别算法 调制格式识别过程如下: 信号预处理 去除直流成分 信号在接收端由于接收机的影响,有可能产生直流成分.直流分量在后面混频等处理中会产…
在python web自动化测试中失败截图方法汇总一文中提到了失败截图的方法 但在实际测试中,如果我们的测试用例中加了addCleanups动作,如果addCleanups中动作失败了,就不会截图.那么该怎么做呢,解铃还得系铃人,还是得从addCleanups下手 思路: 我将在 addCleanup中再加一个截图的函数,但怎么判断用例是用例内失败还是addCleanup中失败呢,方法如下 我们在执行完用例后,看看self的属性,包括如下: (Pdb) print dir(self) ['__c…
最近做验证码识别,原本用MATLAB已经实现的整个识别模型,不过代码要部署在Linux服务器上还是需要用另外的语言实现,于是决定用Python + OpenCV来实现. bwlabel函数的作用是检测二值图像中连通域的个数及为每个连通域标记后的矩阵. 关于连通域检测算法我是参考的http://blog.sina.com.cn/s/blog_ad81d4310102vmll.html 这篇文章中的基于行程的标记 方法,以及传统的Two-Pass方法. 传统的Two-pass方法中关于连通域标记的规…
########### 栈的使用 ############### class StackFullError(Exception): pass class StackEmptyError(Exception): pass class Stack(object): def __init__(self,size): self.size=size self.lst = [] self.top = 0 def push(self,item): if self.top == self.size: raise…
MATLAB中产生高斯白噪声非常方便,可以直接应用两个函数,一个是WGN,另一个是AWGN.WGN用于产生高斯白噪声,AWGN则用于在某一信号中加入高斯白噪声.1.WGN:产生高斯白噪声 y = wgn(m,n,p) 产生一个m行n列的高斯白噪声的矩阵,p以dBW为单位指定输出噪声的强度.y = wgn(m,n,p,imp) 以欧姆(Ohm)为单位指定负载阻抗.y = wgn(m,n,p,imp,state) 重置RANDN的状态.在数值变量后还可附加一些标志性参数:y = wgn(…,POWE…
图像产生加性零均值高斯噪声.在灰度图上加上噪声,加上噪声的方式是每一个点的灰度值加上一个噪声值.噪声值的产生方式为Box-Muller算法生成高斯噪声. 在计算机模拟中,常常须要生成正态分布的数值.最主要的一个方法是使用标准的正态累积分布函数的反函数. 除此之外还有其它更加高效的方法.Box-Muller变换就是当中之中的一个. 还有一个更加快捷的方法是ziggurat算法.以下将介绍这两种方法. 一个简单可行的而且easy编程的方法是:求12个在(0,1)上均匀分布的和.然后减6(12的一半)…
MATLAB中产生高斯白噪声非常方便,可以直接应用两个函数,一个是WGN,另一个是AWGN.WGN用于产生高斯白噪声,AWGN则用于在某一信号中加入高斯白噪声. 1. WGN:产生高斯白噪声 y = wgn(m,n,p) 产生一个m行n列的高斯白噪声的矩阵,p以dBW为单位指定输出噪声的强度. y = wgn(m,n,p,imp) 以欧姆(Ohm)为单位指定负载阻抗. y = wgn(m,n,p,imp,state) 重置RANDN的状态. 在数值变量后还可附加一些标志性参数: y = wgn(…
前言 MATLAB一向是理工科学生的必备神器,但随着中美贸易冲突的一再升级,禁售与禁用的阴云也持续笼罩在高等学院的头顶.也许我们都应当考虑更多的途径,来辅助我们的学习和研究工作. 虽然PYTHON和众多模块也属于美国技术的范围,但开源软件的自由度毕竟不是商业软件可比拟的. 本文是一篇入门性文章,以麻省理工学院(MIT) 18.06版本线性代数课程为例,按照学习顺序介绍PYTHON在代数运算中的基本应用. 介绍PYTHON代数计算的文章非常多,但通常都是按照模块作为划分顺序,在实际应用中仍然有较多…
https://ww2.mathworks.cn/help/matlab/matlab_external/system-and-configuration-requirements.html https://ww2.mathworks.cn/help/matlab/matlab_external/start-the-matlab-engine-for-python.html 环境变量: 1 Python-Matlab引擎 / Pyhton-Matlab Engine 首先,需要确保Matlab及…