- 博客(108)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 python报错 UnicodeDecodeError
UnicodeDecodeError: 'utf-8' codec can't decode 报错
2023-10-25 12:30:07 428
转载 为什么要对基带信号进行脉冲成型【转载】
数字信号在传输过程中受到叠加干扰与噪声,从而出现波形失真。瑞典科学家哈利.奈奎斯特在1928年为解决电报传输问题提出了数字波形在无噪声线性信道上传输时的无失真条件,称为奈奎斯特准则,其中奈奎斯特第一准则是抽样点无失真准则,或无码间串扰(ISIFree)准则,是关于接收机不产生码间串扰的接收脉冲形状问题。对于基带传输系统,要到达无码间串扰,系统传输函数H(f)是单边带宽为1/2T的矩形函数(理想奈奎斯特滤波器),其时域波形为h(t)=sinc(t/T),称为理想奈奎斯特脉冲成形,它们的波形和表达式...
2020-11-22 22:59:36 9505 1
原创 pytorch 数据处理(复数处理)记录
因为无信通信中经常用到复数的乘法,pytorch中又没有现成的处理方式,自己懒得写,就在网上搜了下好心人分享的资料。确实是正确的。但是作者采用循环的方式,在处理大批量数据的时候非常慢,我对几十万复数的数据集执行操作时花了好几分钟才完成,故进行改动。改为矩阵处理后,瞬间就可以出结果。并不是什么有难度的操作,只是记录下以后方便使用。代码如下:H1 = torch.randn(3,2) // 3代表数据的数量,选取小的数易于观察,2代表复数,分别是实部和虚部H2 = torch.randn(3,2)..
2020-10-21 20:00:55 3404
原创 GPU版pytorch的环境安装记录
1.安装GPU版本pytorch教程(避坑)https://blog.csdn.net/weixin_40431584/article/details/105119633我是直接从后面链接的download的网站下载的torch-1.5.0-cp38-cp38-win_amd64.whl ,再pip install xx。感觉这样更快。下载安装的1.5.0的torch,直接下载的whl文件。2.torch的cuda版本选择是10.2,电脑上cuda版本可以高于torch的版本,我的.
2020-10-19 14:01:30 243 1
原创 神经网络参数初始化及训练过程loss出现NAN的解决方法
一、最近在修改代码后,训练过程loss出现NAN,而且概率很大,于是查找原因,在此记录。在给信号按照相应信噪比加噪声的过程中,增加了部分代码,且增加了batch norm,但是训练过程中大概率loss会出现NAN。增加噪声的代码如下:1 def wgn(x, snr):2 P_signal = np.sum(abs(x)**2)/len(x)3 P_noise = P_signal/10**(snr/10.0)4 return np....
2020-10-14 15:29:18 1771 1
原创 torch.nn.Conv1d及一维卷积举例说明
一维卷积不代表卷积核只有一维,也不代表被卷积的feature也是一维。一维的意思是说卷积的方向是一维的。class torch.nn.Conv1d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)in_channels(int) – 输入信号的通道。在文本分类中,即为词向量的维度 out_channels(int) – 卷积产生的通道。有多少个out_chann
2020-10-03 16:30:25 8986 6
转载 OFDM那些事
各位通信战友,好久不见~ 一别数月,感谢大家这段时间对本贴的支持,看到那么多留言和回复,笔者也十分感动。春节期间没来得及跟大家问声好,就借用韩乔生老师的话吧:“端午节刚过,我给大家拜个晚年!”。 都说这个冬天是通信业的寒冬,不知道大家的冬天过的怎么样?不管怎么说,春天的脚步已经临近,又到了...咳咳,“学习”的季节,让我们继续努力吧。 承蒙大家对“MIMO技术杂谈”前三章的支持,笔者收到了战友们很多反馈。其中有很多朋友问起了OFDM技术,也提到了为什么OFDM要和MIMO结合使用。恕笔者...
2020-08-03 20:38:04 4328
转载 OFDM那些事(二)
书接上回。上一篇我们说到了“码间串扰”,还留下了一个问题,那就是如何在不降低信号带宽的情况下,克服码间串扰的影响,顺便再获得点“频率分集”增益呢?今天我们就来聊聊这些话题。 图1多径传播环境来看图1描述的传播环境,假设从发送方到接收方一共有三条传播路径,信道增益分别为h1,h2和h3。其中路径2和3分别会对信号延时1个和2个时刻。即,在第一时刻,接收方会收到经过直视径到达的信号X1(不考虑噪声) :Y1 = h1×X1;第二时刻,接收方收到来自直视径的X2和经反射...
2020-08-03 20:32:21 715
翻译 Joint Transceiver Optimization for Wireless Communication PHY Using Neural Network
AbstractDeep learning has a wide application in the area of natural language processing and image processing due to its strong ability of generalization. In this paper, we propose a novel neural network structure for jointly optimizing the transmitter an
2020-06-20 16:36:26 810
翻译 An End-to-End Block Autoencoder For Physical Layer Based On Neural Networks
AbstractDeep learning has been applied in physical-layer communications systems in recent years and has demonstrated fascinating results that were comparable or even better than human expert systems. In this paper, a novel convolutional neural networks (
2020-06-19 03:27:10 544
翻译 Deep-Waveform: A Learned OFDM Receiver Based on Deep Complex Convolutional Networks 译文(I.-III.)
AbstractRecent explorations of Deep Learning in the physical layer (PHY) of wireless communication have shown the capabilities of Deep Neuron Networks in tasks like channel coding, modulation, and parametric estimation. However, it is unclear if Deep Neu
2020-06-17 03:19:00 1489 1
转载 python深拷贝和浅拷贝的区别(copy()、deepcopy()与赋值的区别)
在python中,对象赋值实际上是对象的引用。当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用一般有三种方法,alist=[1,2,3,["a","b"]](1)直接赋值,默认浅拷贝传递对象的引用而已,原始列表改变,被赋值的b也会做相同的改变>>> b=alist>>> print b[1, 2, 3, ['a', 'b']]>>> alist.append(5)>.
2020-06-05 18:14:23 1388
原创 python用法记录(import)
1. import用法使用 Python 进行编程时,有些功能不必自己实现,可以借助 Python 现有的标准库或者其他人提供的第三方库。最常用的格式包括2种(1)直接使用import加载模块,需要使用模块功能时,采用(模块名.函数名)或者(模块别名.函数名)的格式,如下:import 模块名import 模块名 as 别名import 模块.子模块 as 别名使用方法举...
2020-04-26 17:14:16 224
原创 pytorch用法记录(torch.Storage与detach)
1.torch.Storage类使用storage()函数把Tensor数据转换为float类型的Storage数据,再使用tolist() 返回一个包含此存储中元素的列表。2.detach 计算图截断detach 的意思是,这个数据和生成它的计算图“脱钩”了,即detach就是截断反向传播的梯度流。GAN中,Train D on fake,G生成的数据会传入D,然...
2020-03-23 17:44:29 545
转载 pytorch用法记录(GAN算法阅读)
1.交叉熵损失函数 BCELoss用法例子如下,先定义loss = nn.BCELoss(),然后通过loss(lossinput, target)输入所需计算的数据:m = nn.Sigmoid()loss = nn.BCELoss(size_average=False, reduce=False)input = torch.randn(3, requires_grad=True)...
2020-03-22 22:34:31 730
转载 RBF(径向基)神经网络
RBF(径向基)神经网络 只要模型是一层一层的,并使用AD/BP算法,就能称作 BP神经网络。RBF 神经网络是其中一个特例。本文主要包括以下内容:什么是径向基函数 RBF神经网络 RBF神经网络的学习问题 RBF神经网络与BP神经网络的区别 RBF神经网络与SVM的区别 为什么高斯核函数就是映射到高维区间 前馈网络、递归网络和反馈网络 完全内插法一、什么是径向基函数...
2019-10-31 22:20:21 684
原创 学习记录:感知机
一、基础知识回顾b向量与a向量的内积ba,几何意义为a向量在b向量方向上的投影大小。当向量的模相同时,向量间夹角越小,投影值越大。W为f(x)的法向量,坐标系中有大量的样本点x。以f(x)为界: 当样本点在f(x)右侧时,W与其方向向量的乘积为正,如下图x1。 当样本点在f(x)左侧时,W与其方向向量的乘积为负...
2019-10-17 18:43:21 282
转载 SEI(Supplemental Enhancement Information)
流媒体是采用流式传输方式在网络上播放的媒体格式,视频网站内容、短视频、在线直播这些视频形态,均属于流媒体的不同分支。流媒体大致包含三个层级:码流、封装和协议。从音视频编码器输出的码流,经过某种封装格式后,经过特定的协议传输、保存,构成了流媒体世界的基础功能。在直播应用的开发过程中,如果把主播端消息事件传递到观众端,一般会以Instant Messaging(即时通讯)的方式传递过去,但因为消息...
2018-10-24 19:28:31 4103
转载 AVS2的GB帧与s帧
GB帧: 为了支持长期参考帧技术, AVS2引入了背景帧(GB帧) 。考虑到背景帧主要包含场景中的背景区域,其作用是提供参考,而不是观看,因此背景帧是一种不应输出的帧内解码场景图像。当然,如果背景图像确实需要输出, AvS2也是支持的, 此时称为应输出的帧内解码场景图像(G帧) , G帧与 GB帧的主要区别就在于是否输出显示 。 GB 帧一般釆用背景建模的方法训练得到, 而训练是需要一段...
2018-09-17 14:47:17 1297
转载 MP4文件格式的解析,以及MP4文件的分割算法
mp4应该算是一种比较复杂的媒体格式了,起源于QuickTime。以前研究的时候就花了一番的功夫,尤其是如何把它完美的融入到视频点播应用中,更是费尽了心思,主要问题是处理mp4文件庞大的“媒体头”。当然,流媒体点播也可以采用flv格式来做,flv也可以封装H.264视频数据的,不过Adobe却不推荐这么做,人家说毕竟mp4才是H.264最佳的存储格式嘛。 这几天整理并重构了一下mp4文件的解析程...
2018-03-21 21:48:19 497
转载 从内核文件系统看文件读写过程
阅读目录系统调用虚拟文件系统I/O 缓冲区Page CacheAddress Space文件读写基本流程回到顶部系统调用操作系统的主要功能是为管理硬件资源和为应用程序开发人员提供良好的环境,但是计算机系统的各种硬件资源是有限的,因此为了保证每一个进程都能安全的执行。处理器设有两种模式:“用户模式”与“内核模式”。一些容易发生安全问题的操作都被限制在只有内核模式下才可以执行,例如I/O操作,修改基址...
2018-03-02 19:07:20 1540
转载 C++ Map常见用法说明
http://blog.csdn.net/shuzfan/article/details/53115922#三-取值一 声明二 插入操作1 使用 进行单个插入1 使用insert进行单个和多个插入三 取值四 容量查询五 迭代器六 删除交换1 删除2 交换七 顺序比较八 查找九 操作符C++中map提供的是一种键
2017-12-08 11:50:43 298
转载 Git 一些错误的解决方法
http://blog.csdn.net/xinguan1267/article/details/39028789Git初学者的个人经验记录,仅供参考1. Pull is not possible because you have unmerged files.症状:pull的时候$ git pullPull is not possible because you
2017-09-26 15:45:12 434
转载 sizeof与strlen的区别
http://blog.csdn.net/21aspnet/article/details/1539951char str[20]="0123456789"; int a=strlen(str); /*a=10;strlen 计算字符串的长度,以\0'为字符串结束标记。 int b=sizeof(str); /*b=20;sizeof 计算的则是分配的数组str[20] 所占的内存空间的大
2017-09-21 20:53:27 245
转载 char* 指向内容不能修改的问题(整理)
http://www.cnblogs.com/yylqinghao/archive/2010/04/27/1721752.html同事遇到一个简单的问题: char* str = "resource";str[6] = 'k'; //这句报内存写入错误*(str+6) = 'k'; //这样写同样报错 但是这样就没问题:char
2017-09-21 11:05:52 888
转载 char *a 与char a[] 的区别
http://www.cnblogs.com/kaituorensheng/archive/2012/10/23/2736069.htmlchar *a = "hello" 中的a是指向第一个字符‘a'的一个指针char a[20] = "hello" 中数组名a也是执行数组第一个字符‘h’的指针但二者并不相同:看实例:把两个字符串相加:
2017-09-20 17:51:45 1084
转载 git跟踪远程分支并创建本地分支
http://blog.csdn.net/tterminator/article/details/52225720http://git.oschina.net/progit/3-Git-%E5%88%86%E6%94%AF.html#3.5-%E8%BF%9C%E7%A8%8B%E5%88%86%E6%94%AF一、查看远程分支使用如下Git命令查看所有远程分支:
2017-08-02 11:59:09 12055
转载 Android中的智能指针:强指针和弱指针
http://bbs.16rd.com/thread-1462-1-1.htmlandroid中定义了两种智能指针类型,一种是强指针sp(strong pointer),另外一种是弱指针(weak pointer)。其实称之为强引用和弱引用更合适一些。强指针与一般意义的智能指针概念相同,通过引用计数来记录有多少使用者在使用一个对象,如果所有使用者都放弃了对该对象的引用,则该对象将被自动
2017-07-25 10:01:14 560
转载 Git 分支---3.6分支的衍合
转载于http://www.open-open.com/lib/view/open1328069889514.html3.6 分支的衍合把一个分支整合到另一个分支的办法有两种:merge 和 rebase(译注:rebase 的翻译暂定为“衍合”,大家知道就可以了。)。在本章我们会学习什么是衍合,如何使用衍合,为什么衍合操作如此富有魅力,以及我们应该在什么情况下使用衍合。基本的衍合操
2017-06-05 23:22:02 394
转载 Git 分支---3.5 远程分支
转载于http://www.open-open.com/lib/view/open1328069889514.html3.5 远程分支远程分支(remote branch)是对远程仓库中的分支的索引。它们是一些无法移动的本地分支;只有在 Git 进行网络交互时才会更新。远程分支就像是书签,提醒着你上次连接远程仓库时上面各分支的位置。我们用 (远程仓库名)/(分支名) 这样的形式表示远
2017-06-05 23:18:49 388
转载 Git 分支---3.3分支的管理---3.4利用分支进行开发的工作流程
3.3 分支的管理到目前为止,你已经学会了如何创建、合并和删除分支。除此之外,我们还需要学习如何管理分支,在日后的常规工作中会经常用到下面介绍的管理命令。git branch 命令不仅仅能创建和删除分支,如果不加任何参数,它会给出当前所有分支的清单:$ git branch iss53* master testing注意看 master 分支前的 * 字符:它表示当前所
2017-06-05 20:40:37 475
转载 Git分支---3.2分支的新建与合并
转载于http://www.open-open.com/lib/view/open1328069889514.html现在让我们来看一个简单的分支与合并的例子,实际工作中大体也会用到这样的工作流程:1. 开发某个网站。 2. 为实现某个新的需求,创建一个分支。 3. 在这个分支上开展工作。假设此时,你突然接到一个电话说有个很严重的问题需要紧急修补,那么可以按照下面的方式处理:1.
2017-06-05 20:37:02 347
转载 Git 分支---3.1何谓分支
转载于http://www.open-open.com/lib/view/open1328069889514.html为了理解 Git 分支的实现方式,我们需要回顾一下 Git 是如何储存数据的。或许你还记得第一章的内容,Git 保存的不是文件差异或者变化量,而只是一系列文件快照。在 Git 中提交时,会保存一个提交(commit)对象,该对象包含一个指向暂存内容快照的指针,包含本次提交的
2017-06-05 19:14:15 346
转载 使用git微命令深入理解git工作机制
首先,这篇不是真正意义上的翻译,所以大家在看的时候不要找对应的英文文章对应着看。这篇文章之所以归类为翻译,是因为最开始有一篇英文文章让我对Git内部机制有了清楚的认识,它可以说是我git的启蒙老师吧。然后很久过去后,自己也有了很多的git项目实践,觉得有必要从自己的理解角度(微命令和常用命令对应分析)来整理下自己的理解,于是有了这篇博文。 git是一种管理数据的工具,一种支持快速
2017-05-23 19:00:15 425
转载 Git 常用命令速查表
http://blog.chinaunix.net/uid-27714502-id-3435772.htmlgit的各种命令实在是太多了,我们常常记不住,现结合网上的一些文章总结如下: 1、常用的Git命令 命令简要说明git add添加至暂存区git add–interactive
2017-05-23 18:03:42 313
转载 Linux下DIR,dirent,stat等结构体详解
最近在看Linux下文件操作相关章节,遇到了这么几个结构体,被搞的晕乎乎的,今日有空,仔细研究了一下,受益匪浅。首先说说DIR这一结构体,以下为DIR结构体的定义:struct __dirstream { void *__fd; char *__data; int __entry_
2016-11-14 20:01:45 642
转载 RGB、YUV和YCbCr
之前对RGB、YUV和YCbCr一直没有清晰的理解和认识,今天打算做一个小结,结合网上的文章谈谈自己的看法,也希望有机会看到这篇文章的人能指点一二,相互交流,共同进步。 首先要说明,上述的RGB、YUV和YCbCr都是人为规定的彩色模型或颜色空间(有时也叫彩色系统或彩色空间)。它的用途是在某些标准下用通常可接受的方式对彩色加以说明。本质上,彩色模型是坐标系统和子空间的阐述。【
2016-11-09 22:06:44 334
转载 Linux下静态链接库与动态链接库的区别
引言通常情况下,对函数库的链接是放在编译时期(compile time)完成的。所有相关的对象文件 (object file)与牵涉到的函数库(library)被链接合成一个可执行文件 (executable file)。程序 在运行 时,与函数库再无瓜葛,因为所有需要的函数已拷贝到自己门下。所以这些函数库被成为静态库(static libaray),通常文件 名为“lib
2016-10-02 22:15:35 267
转载 静态链接库LIB和动态链接库DLL的区别 创建和示例
1.什么是静态连接库,什么是动态链接库 静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了。但是若使用 DLL,该 DLL 不必被包含在最终 EXE 文件中,EXE 文件执行时可以“动态”地引用和卸载这个与 EXE 独立的 DLL 文件。静态链接库和动态链接库的另外一个区别在于静
2016-10-02 22:03:04 339
转载 Linux GCC常用命令
http://www.cnblogs.com/ggjucheng/archive/2011/12/14/2287738.html#_Toc3116428441简介2简单编译2.1预处理2.2编译为汇编代码(Compilation)2.3汇编(Assembly)2.4连接(Linking)3多个程序文件的编译4检错5库文件连接5.1编译
2016-10-02 17:07:57 370
空空如也
sscanf 正则表达式用法问题
2017-07-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人