分类 通信&信息处理 下的文章 - 我的学记|刘航宇的博客
首页
📊归档
⏳时光机
📬留言
🐾友链
资助名单
推荐
🎓843课程班
🎵音乐
🏞️壁纸
搜 索
1
【NPN/PNP三极管】放大电路饱和失真和截止失真的区别
12,710 阅读
2
论文写作中如何把word里面所有数字和字母替换为新罗马字体
7,155 阅读
3
【高数】形心计算公式讲解大全
6,638 阅读
4
【1】基于STM32CubeMX-STM32GPIO端口开发
5,148 阅读
5
如何判断运放是工作在线性区还是非线性区
4,994 阅读
🌻微语&随笔
励志美文
我的随笔
写作办公
📖电子&通信
嵌入式&系统
通信&信息处理
编程&脚本笔记
🗜️IC&系统
FPGA&ASIC
VLSI&IC验证
EDA&虚拟机
💻电子&计算机
IP&SOC设计
机器学习
软硬件算法
登录
搜 索
标签搜索
嵌入式
ASIC/FPGA
VLSI
SOC设计
机器学习
天线设计
C/C++
EDA&虚拟机
软件算法
小实验
信号处理
电子线路
通信&射频
随笔
笔试面试
硬件算法
Verilog
软件无线电
Python
DL/ML
刘航宇
嵌入式系统&数字IC爱好者博客
累计撰写
302
篇文章
累计收到
527
条评论
首页
栏目
🌻微语&随笔
励志美文
我的随笔
写作办公
📖电子&通信
嵌入式&系统
通信&信息处理
编程&脚本笔记
🗜️IC&系统
FPGA&ASIC
VLSI&IC验证
EDA&虚拟机
💻电子&计算机
IP&SOC设计
机器学习
软硬件算法
页面
📊归档
⏳时光机
📬留言
🐾友链
资助名单
推荐
🎓843课程班
🎵音乐
🏞️壁纸
用户登录
登录
通信&信息处理(共42篇)
找到
42
篇与
通信&信息处理
相关的结果
2022-10-16
UART串行接口设计及通信实现
通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART,是一种异步收发传输器。异步串行、接口原理分析串行通信电气特性通常,UART串行接口采用RS-232-C电气标准进行通信。RS-232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。对于一般的通信,不需要掌握RS-232-C的所有信号的定义,只需要使用其中的2个信号TXD(数据发送)和RXD(数据接收),另外,参加通信的设备要将GND(地)要连到一起(共地)。数据线TxD和RxD的电平标准为: 逻辑1=-3V~-15V;逻辑0=+3~+15VRS-232-C标准规定的数据传输速率为9600、19200、115200等波特率。波特率是衡量资料传送速率的指标,表示每秒钟传送的符号数。如果波特率为9600,那么发送和接收数据都应该为9600bits/s。本节采用9600bit/s进行通信。UART串行数据格式起始位(逻辑0 )+数据位(本节为8位数据位)+奇偶校验位(本节为偶校验)+停止位(本节使用1位停止位)+空闲位(逻辑1)通信的安全性问题串行异步通信,发送方和接收方使用各自的时钟。例如从FPGA电路板和计算机之间的通信,因此,不能保证两者的时钟完全相同。为保证接收数据的准确性,因此需要用较高的采样率进行采样,本节采用16倍的采样率进行采样,简单的选取中间采样点的值作为接收的数据。如图采用16倍波特率的采样率执行采样,一个比特可采集16个点,选取中间点即从第一个采样点开始的第8或第9个采样点(笑脸附近上升沿)采集该位数据,在接收双方始终频率相差不大的情况下,能够正确的完成通信。功能设计和演示预计实现的功能(演示):将拨码开关代表的数据发送到串口(8位);从串口接收电脑发来的数据,以数码管显示(8位)。主模块设计⚫ 调用分频模块⚫ 调用数码管显示IP⚫ 调用按键消抖动IP⚫ 调用串口发送模块⚫ 调用串口接收模块module v1( input clk, input [11:0] sw, input [3:0] btn,//行列键盘的输入 output [3:0] row,//行列键盘的行输出 output [7:0] seg, output [5:0] an, output [11:0] led, output txd, input rxd ); wire clk_ms,clk_20ms,clk_16x,clk_x; wire [3:0] btnout; wire [23:0] data_disp; wire data_ready; wire data_error; assign row[3:0]=1;//输出全部为高电平, 本例程只用4个 divclk my_divclk(.clk(clk),.clk_ms(clk_ms),.btnclk(clk_20ms),.clk_16x(clk_16x),.clk_x(clk_x)); //调用分频模块 ip_disp_0 uut_disp(//调用显示IP .clk(clk), .rst(0), .dispdata(), .seg(seg), .an(an) ); ip_ajxd_0 uut_ajxd(//调用按键消抖动IP .btn_clk(clk_20ms), .btn_in(btn), .btn_out(btnout) ); uart_tx (.clk_x(clk_x),.data_in(sw[7:0]),.btn(btnout),.txd(txd),.led(led)); //调用串口发送模 块 uart_rx(.clk_16x(clk_16x),.rst(btnout[0]),.rxd(rxd),.data_disp(data_disp),.data_ready(data_rea dy),.data_error(data_error));//调用串口发送模块 endmodule串口发送程序设计串口接收程序设计
2022年10月16日
366 阅读
0 评论
0 点赞
高速电路系统-传输线阻抗匹配
传输线反射系数●当传输线的传播的信号到达某个阻抗不连续点时,信号会发生反射,●就像水流通过不同口径的管道接口时,水面产生波动一样。●根据反射电压和入射电压的比值, 可以定义传输线上的反射系数。$\Gamma=\frac}}=\frac$信号反射分析在信号跳变的瞬间,源端和负载端的电压变化信号阻抗匹配设计优点:RS无需电源,低功耗,对于驱动高容性负载起到限流作用,有效的避免了一些噪声。缺点:信号源加电阻占空间,对扇出不好。(C)优点RC隔直流,消除直流损耗。电容有充电时间,RC饱和时间大于2倍传输线延迟,也就是源端发射信号到RC电路之前没有饱和。调试办法在射频电路中进行阻抗匹配测试时,可按照如下步骤进行射频匹配网络调试:1:校准矢量网络分析仪2:用矢网测量开口线,保存S1P文件。在ADS中新建工程,按照如下原理图,插入开口线的S1P文件,使用ADS调谐调整微带线的长度,使开口线位于smith圆图的最右边使其处于开路状态,更新原理图参数。3:测量前级的输出阻抗将开口线焊接在焊点1的位置,利用矢网测量出前级网络的输出阻抗,保存S1P文件,利用上面抵消开口线参数影响后更新后ADS原理图,插入前级网络S1P文件,在ADS里读出对应频率点的阻抗Z14:测量下级的输出阻抗将开口线焊接在焊点2的位置,利用矢网测量出后级网络的输出阻抗,保存S1P文件,利用上面抵消开口线参数影响后更新后ADS原理图,插入后级网络S1P文件,在ADS里读出对应频率点的阻抗Z25:利用ADS的Smith Chart Utility 进行阻抗匹配将前级网络的输出阻抗Z1取共轭,负载网络的输入阻抗为Z2,代入到Utility进行阻抗匹配,最后将匹配后的元件值焊接到板子上进行测试
2022年10月10日
488 阅读
0 评论
2 点赞
GUN Radio实战信号源设计&USRP发射接收波形信号
信号源设计目标:创建一个正弦波,并使用时域 Scope Sink 查看生成的波形。了解基本的流程图构建和常用模块的使用。1.在终端窗口中输入:gnuradio-companion 打开 GRC 软件。2.将 Options 模块的 ID 属性设置为 LAB2,Generate Options 属性设置为 QTGUI。3.使用快捷键 Ctrl+F 或点击菜单栏中的 搜索图标 查找模块 signal source 信号发生模块,和 scope sink 图形显示模块。双击或拖动模块到画布上。由于 GNU 中 scope 模块只有 WX GUI 类型的,如下图所示所以我们需要将 Options 模块的 Generate Options 属性值相应的改为 WXGUI。否则程序将会报错并不能被执行。如下图所示,连接 Signal Source 模块和 WX GUI Scope Sink 模块,而 WX GUI Scope Sink 模块为红色,点击工具栏中的运行按钮会显示出错误原因:5.此时,若我们想在程序运行时,在 GUI 界面能够随时改变频率的值,则需要添加 WX GUI Slider 模块。6.为了防止 CPU 过载,我们添加一个 Throttle 模块。Throttle 模块主要起到限速的作用,设置高的速率,程序执行的快,设置低的速率程序行的慢。当有硬件连接的时候,我们不需要 Throttle 模块,因为硬件本身就对速率有了限制。这里我们讲一下,为什么所有的流程图都要用 Throttle 模块,先看下使用了与没有使用 Throttle 模块的正弦波流程图上的系统资源监控对比:下图为 Throttle 为不同值时,CPU 的使用速率。Throttle 模块的作用可以理解为限速:速度越高我们流程图运行的速度越高,速度越低流程图运行的速度越低。我们如果将 Throttle 模块的采样率调到1e6比调到1e3(CPU 配置低就调的更低一些防止跑死)的 CPU 负载要高很多。7.在桌面创建一个 LAB-LW 的文件夹,将刚刚连接好的程序保件夹中,并将其保存为 LAB1.grc。整体流程框图:流程结果图:用 USRP 发射接收波形信号目标:学会使用 USRP 设备利用现有的程序进行简单的修改实现简单的发送接收。并熟悉 UHD 模块的基本使用。通过上一个练习我们已经知道怎样建立一个不通过外部设备即可接收到波形信号的程序,在本节练习中,我们将对上节程序进行简单的修改然后利用外部 USRP 设备进行发射接收波形信号。将 Options 模块的 ID 属性设置为 LAB2,Generate Options 属性设置为 QTGUI。2.由于有外部硬件连接了,所以我们不需要 Throttle 模块了, Throttle WX GUI Scope Sink 模块删除。3.删除两个 WX GUI Slider 模块。4.修改 Signal Source 模块的属性参数:5.从模块库中将 QT GUI Sink,UHD:USRP Sink 模块添加到 布中,将 SignalSource 模块的输出端与 QT GUI Sink 模块和 UHD:USRP S nk 模块的输入端连接到一起。其中 UHD:USRP Sink 模块用来发射波形信号,QT GUI Sink 模块用来查看发射的波形信号。其具体的模块属性参数如下图所示:6.从模块库中将 UHD:USRP Source,QT GUI Sink 模块 加到画布中,将UHD:USRP Source 模块的输出端连接到 QT GUI Sink 模块的输入段。其中, UHD:USRP Source 模块用来接收波形信号,QT GUI Sink 模块用来显示接收 波形。其具体的模块属性参数如下图所示:UHD:USRP Sourc属性参数。USRP B210 更改 A 通道或 B 通道:7.添加两个 QT GUI Range 模块,并将其 ID 改为 gain_tx,和 gain_rx。用于调整发射端和接收端的增益值。8.为了方便我们查看发射和接收的波形信号,我们添加一个 QT GUI Tab Widget模块。将 ID 更改为 ab,Num Tabs 改为2,Label0名称更改为 TX,用来查看发射端的波形情况;Label1名称更改为RX,用来查看接收端的波形情况。同时,更改发射端 QT GUI Sink 模块的 GUI Hint 属性为 lab@0;更改接收端 QT GUI Sink 模块的GUI Hint 属性为 lab@1。将连接好的程序保存在 LAB-LW 的文件夹中,并将其保存为 LAB2.grc整体流程框图:流程结果图:(此程序采用 USRP-LW B210运行,同时将通道 A 的 TX/RX2端外接馈线或连接天线)发射端波形:接收端波形:
2022年05月20日
2,717 阅读
0 评论
5 点赞
2022-05-07
智能无源感知技术简介
什么是无源感知?——设备发射无线信号(例如WIFI、声波、RFID、光以及毫米波等),无线信号被待检测对象反射,特定路径的信号返回到接收设备,通过对获取的无线信号进行信号处理等流程获取待检测对象的信息。生活中的无源感知广泛应用于人机交互、软件定义设备、健康监护及行为识别等领域,比如老人跌倒监测、Google Pixel 4手势识别、超声波VR交互、基于RFID的软件定义转速仪等。而当今社会中的人机交互领域,目前已经催生出机械设备人机交互、可穿戴设备人机交互与无源感知人机交互三大应用,其中的无源感知由于其与设备间的隔离状态,可操作性更强、卫生性也更好。软件定义设备,自1883年Warren S.Johnson发明全球首台恒温器,近年来已经由机械型传感器进化为固体传感器、智能MEMS传感器,时至今日,无源感知为基础的新型传感器已经成为最新的科技产物。该技术拥有三大特点:声波的短波长提供细粒度特征、声波在空气中自由传播提供非接触感知方式、基于智能移动设备的低成本软件开发。而创新思路主要为设计具有物理强关联特征的提取方法,采用多维信号智能融合。
2022年05月07日
371 阅读
0 评论
2 点赞
GNURadio-软件无线电入门教程
第一章 GNURadio 和软件无线电概述1.1什么是 GNU RadioGNU Radio 是一个软件框架,使用户能够设计、模拟和部署功能强大的软件无线电系统。它是一个高度模块化的,面向“流程图”的框架,带有一个全面的处理模块库,可以轻松组合并构成复杂的信号处理系统的应用程序。GNU Radio 已用于大量的无线电应用程序。包括音频处理,移动通信,跟踪卫星,雷达系统,GSM,数字无线电等等,所有这些都在计算机软件中使用。1.2为什么我们要使用 GNU Radio以前,在开发无线电通信设备时,工程师必须先开发用于接收并处理特定信号的接收机, 来对特定信号传输进行解码或编码。随着数字信号处理与其算法越来越复杂,这些信号处理的平台也变得越来越复杂,通常需要较为高速的 ADC、FPGA 以及能将实时数据串流到计算机平台的连接芯片等,每个系统所对应的硬件平台不一定是一样的,这就带来了巨大的开发成本。通过使用软件无线电(SDR)设备进行模拟信号处理,在相同的硬件平台上可以同时兼容运行各种不同的软件程序,不仅节约了开发成本,也提高了开发新系统的效率。1.3关于数字信号处理作为一种软件框架,GNU Radio 通过硬件平台串流的比特数据流输入到计算机中,并在操作系统中运行相应的应用程序以此达到对特性信号进行处理的目的。我们都知道计算机只能处理数字信号。如何去理解数字信号呢?简单举个例子:当你想要录制一段人声的时候,说话的人会产生声音信号,该信号由震动导致周围气压发生变化而产生。这样一个时变的物理量就是一种信号。当空气波到达麦克风时,麦克风将变化的压力转换为电信号,即可变电压现在我们已经将信号转化为了电信号,在一些模拟系统中,已经可以开始对信号进行处理。但是对于我们的计算机系统,一个数字的系统,这还远远不够。为了使计算机能够处理这样的数据,我们还需要满足两个条条件:1.是有限点数的 2.是在有限时间之内的因此,该数字信号可以由称为样本的数字序列表示。采样之间的固定时间间隔直接影响到采样率。提取物理量(电压)并将其转换为数字样本的过程由模数转换器(ADC)完成。相反,我们还有数模转换器(DAC),可从将计算机中提取数字序列转换为模拟信号。现在我们已经有了一个数字序列,我们的计算机就可以使用它进行各种操作。同样,电磁波显然也是一种波,它跟声波有许多相同的性质。我们可以用天线将变化的电信号发射出去,这个电信号一般位于一个较高的频率上,可以是数百 KHz 到 GHz。通过使用软件无线电接收机,我们可以接收并对这些信号进行处理,以此进行我们想要的操作。1.4GNU Radio 是如何工作的在 GNU Radio 中,为了处理数字信号,我们可以使用简单的流程指示箭头将其连接:在上图中,Signal Source 即为信号源,左边的输入接口可以输入频率参数,右边的输出接口可以输出音频数据流。右边的 Audio Sink 为音频接收器,允许通过扬声器或其他音频设备播放出输入的信号。这就构成了一个十分简单的流程图,点击软件中的运行按钮即可非常简单快捷的编译流程图并运行。GNU Radio 是一个框架,用于开发这些处理模块并创建流程图。软件自带大量的处理模块,在这里简单举例一些:Waveform Generators 信号发生器Constant Source 常数源(可以理解成直流分量)Noise Source 噪声源Signal Source (e.g. Sine, Square, Saw Tooth) 信号源ModulatorsAM Demod AM 解调Continuous Phase Modulation 连续相位调制PSK Mod / Demod PSK 调制/解调GFSK Mod / Demod GFSK 调制/解调GMSK Mod / Demod GMSK 调制/解调QAM Mod / Demod QAM 调制/解调WBFM Receive 宽带 FM 接收机NBFM Receive 窄带FM 接收机使用这些模块,我们只需要进行相应的连接操作,就可以快速搭建数字信号处理系统。另外,当然你也可以自己开发新的 block,或者将现有的块与其他软件结合在一起,开发出新的功能。因此,GNU Radio 主要是用于开发信号处理模块及其交互的软件框架。它带有广泛的标准块库,开发人员可以在其中构建许多系统,是十分方便的软件无线电开发工具。第二章 GNU Radio 软件安装与配置GNURadio 的官方 GitHub 页面为 https://github.com/gnuradio/gnuradio。其首页中也明确说明了对于不同操作系统的不同安装方式。2.1操作系统的选择我个人最推荐使用 Ubuntu18.04 我在这个系统版本上搭建过很多次所需要的环境,没怎么出过问题,使用一直很稳定。19 版本或许可以,我没有尝试过,但是 20 版本一定不可以, 因为有接到过软件报错的情况报告。2.2Linux 环境下的直接安装对于GNU Radio,如果只是简单轻度使用我就建议大家直接使用 Linux 的二进制软件包安装。最快捷方便而且最重要不容易出错。根据 GNURadio 官方 GitHub 界面,首先的安装方式也是直接使用 apt 安装。以下命令适用于 Debian,Ubuntu 及其衍生版本。它将使用 Python2 安装 GNURadio 3.7 版sudo apt install gnuradio对于以上操作系统,直接执行这条命令即可安装完成。如果遇到报错建议自行查询报错信息解决。对于其他 Linux 发行版,请查阅:https://wiki.gnuradio.org/index.php/InstallingGR#From_Binaries2.3Linux 下使用PyBOMBS 辅助自动从源码构建PyBOMBS 是安装GNURadio 以及相关软件工具的一个快捷工具。你可以使用它来安装各种 SDR 设备所依赖的支持库,绝大部分操作都是全自动的。PyBOMBS 是方便用来从源代码构建 GNU Radio,UHD 和各种 Out of Tree(OOT)模块,然后将其安装到指定的用户目录中的工具。在使用之前,PyBOMBS 会检测用户的操作系统并在构建的第一阶段加载所有先决条件(可能会出现各种花式报错)。如果你对于自己解决 Linux 环境配置问题不是很有信心,我不建议你使用这种方法安gnuradio。注意!!:GitHub 中详细描述了安装的步骤,请自行参阅:项目地址:https://github.com/gnuradio/pybombs因为它是从源代码安装GNU Radio,所以第五步可能需要一些时间,要进行更快的安装, 请参阅 https://wiki.gnuradio.org/index.php/InstallingGR#Ubuntu_PPA_Installation2.4Linux 下手动从源码编译构建请参阅:https://wiki.gnuradio.org/index.php/InstallingGR#From_Binaries2.5Windows 环境下的安装在 Windows 环境下,官方提供了非正式版的 GNU Radio 3.7 和 3.8 的安装文件,虽然我也不推荐你真的在 Windows 平台运行这个软件,但是它在 Win 平台是真的可以使用的。不管是 USRP 还是 PlutoSDR,有驱动程序的话就可以使用。对于 USRP,可能存在固件版本的问题,按照教程后面的解决办法是可以解决的。相关的安装软件包在这里下载:http://www.gcndevelopment.com/gnuradio/index.htm2.6Mac OS X 环境下的安装你是认真的?请参阅:https://wiki.gnuradio.org/index.php/MacInstall第三章 教程初阶3.1熟悉使用 GNU Radio Companion学习目的:使用标准块库创建流程图了解如何使用检测模块 Sink 调试流程图了解GNU Radio 中的采样和调节功能了解如何使用文档找出模块的功能在本教程中,我们将从简单框图开始,探讨如何使用 GNU Radio 的图形工具GNU RadioCompanion(GRC)来创建不同的框图。GRC 是为了简化 GNU Radio 而诞生的,有了它, 我们可以以图形化编程的方式创建 python 脚本,替代了传统的复杂代码编写,进而降低软件无线电编程的入门门槛。那么我们开始。首先打开终端,输入以下指令。$ sudo gnuradio-companion或者直接单击软件图标,也是可以运行软件的。如果你发现不仅应用程序中没有出现软件图标,而且终端也不能打开这个软件,那么你的安装很有可能出现了问题。请检查安装是否存在问题。这里有一点区别。当你通过终端运行 GRC 时,下图绿色部分的终端会同时在系统终端里显示。而如果直接通过点击软件图标运行则只能在GRC 的终端面板中观察信息。首先我们来介绍软件界面。总共分为五个部分:库,工具栏,终端,工作区和变量。红色区域为工具栏部分,放置了平时最常用的工具,比如运行、停止、编译等重要功能按键。新建、打开、保存、关闭打开/关闭变量编辑器、截图、剪切、复制、粘贴、删除选中模块查看错误信息、编译流程图、执行流程图、停止运行流程图撤销、重做启用选中模块、禁用选中模块、绕过选中模块、反转禁用连接/模块的状态查找模块、重置模块、打开选中阶梯模块源码蓝色区域即为我们绘制具体流程图的地方。我们可以将右边灰色部分库中的模块拖入蓝色区域,并且将他们通过箭头连接起来,这样就可以构成一个真正的信号处理系统。黄色部分显示的是当前框图中所使用到的变量。在蓝色部分的左上角可以看到两个方框, 分别是 Options 与 Variable,这两个是创建工程时就会自动创建的。在界面的右边灰色区域中,存放了大量可以用于拖拽到流程图中的模块。其中有很大一部分是软件安装时就自带的,如果你安装了其他gnuradio 附属的插件脚本,也会一并显示在框中,通常自行安装的会显示在最后面。因为模块非常多,因此平时寻找想要的模块时一个一个手动翻找会非常麻烦。此时可 以点击工具架上的放大镜图标,或是输入 Ctrl + f 输入该块的关键字进行检索,就可以更容易的找到这个block。例如,这里我们输入 sink(接收器),就可以看到包含单词“接收器”的所有块以及将在其中找到每个块的类别。现在,我们来添加一个名为 QT GUI Time Sink 的块,方法是单击其名称并将其拖动到工作区中,或者双击其名称以将其自动放置在工作区中。工作区包含构成流程图的所有块,在每个块内部都有不同的块参数,但是,每个新流程图都需要有一个特殊的块,称为“选项块”。让我们双击选项块以检查其属性。双击opthions 模块可以看到它的具体内容。Options 中包含了工程的特殊参数设置,每个流程图仅允许存在一个这样的选项模块。上面的 ID,title,author,description,分别表示这个流程图的 ID,标题以及作者和简介。该块的 ID 决定了生成文件的名称和类的名称。例如,一个 ID 为 top_block 的文件将生成文件 top_block.py 和 top_block 类。Cavans Size 窗口大小控制流程图编辑器的尺寸。窗口大小(宽度,高度)必须介于(300,300)和(4096,4096)之间。Generate options 生成选项控制生成的代码的类型。非GUI 流程图应避免使用带有GUI的组件或图形变量控件。Run:流程图的运行可由变量控制,以在需要时启动和停止流程图。Max number of output 最大输出数是流程图中任何方框所允许的最大输出项数;要禁用此功能,将max_nouts 设置为 0 即可。使用此功能可以调整流程图可以显示的最大延迟。可以注意到另一个关键的东西。我们可以输入信息的字段中存在的不同颜色。这些实际上对应于不同的数据类型,我们将在本教程的后面部分介绍这些数据类型。GRC 将我们在编辑器中创建的流程图转换为Python 脚本。因此当我们执行流程图时, 实际上是在运行编译好的Python 程序。ID 用于命名该 Python 文件,该文件与.grc 文件保存在同一文件夹内。默认情况下,ID 是默认值,因此它将创建一个名为 default.py 的文件。更改 ID 可让我们更改保存的文件名,以便更好地管理文件。在 GNUradio 3.8 中,如果不更改默认 ID,则会收到错误消息,因此需要更改此 ID 才能运行流程图。Variable 即变量,它的 ID 是 samp_rate,你可以在框图中的其他地方调用这个变量。例如:这样这里的数值就会随着该变量的变化而变化。如果你点进了设置面板的第三个选项卡,就能看到有关这个block 的文档。通常情况下正规的 block 都是会写使用文档的,当然少数自定义的模块可能是没有的。虽然这些说明是英文的,但是我十分建议大家自己去用谷歌等工具翻译一下这些文档,因为教程不可能每个详细的点都能讲到,有时还是得靠自己查一查的。如果我们删除了一个重要的参数,或是填入了什么不正确的参数,以至于我们的框图无法正常运行,那么此时你会看到执行按钮变成灰色不可点击的状态。此时报错信息按钮亮起,并且在出现错误的block 上,它的名称出现了红色的高亮显示。你可以点击这个按钮,就可以看到存在问题的错误信息。在错误信息中,详细指出了错误出现的位置(如果看不懂就用翻译工具翻译一下,不过英语这么差我建议你直接放弃,这玩意高中生都能看懂。#日常劝退)我们只需要按照报错信息所提示的位置:模块-top block-选项中的一个参数:max_nouts双击打开这个模块,就可以看到在模块中也存在同样的错误信息提示位于正下方。错误明确指出,在这个输入框中数值“”不能被接受,因为这里必须填写的是一个数字, 我们填写数字 0 进去后点击确定,即可发现错误信息已经消失。执行按钮也亮起,说明框图无明显错误,可以正常运行。现在,我们对如何找到块,如何将它们添加到工作区以及如何编辑块属性有了更好的了解,下面我们随意以几个 block 组成一个框图来进行简单的演示。刚才我们拖入了 QT GUI Time Sink 这个模块,这是个图形接收器,可以同时显示多个信号。接下来我们搜索并向流程图中添加 Signal Source(信号源)模块,和 Throttle(节气门)模块,有关这几个模块详细的说明将在之后的教程中详细讲解,现在只需知道此块会限制流程图的某些数据即可,以确保它不会占用 100%CPU 资源导致电脑直接卡到裂开。“生成流程图”,“ 执行流程图”和“终止流程图”的快捷键分别为 F5,F6 和 F7。你可以在我们刚刚提到的工具架上点击这些按钮,或者直接按快捷键来进行相关的操作。当你按下生成流程图按钮之后,软件就会自动将你刚才绘制的流程图转化为一个 python 脚本文件。单击执行流程图按钮之后,就可以看到以下运行结果。如果你不想运行了,只要点击终止流程图即可停止当前运行的程序。这样我们的第一个流程图就成功运行了。这是一个从信号源产生信号,经过限流器限制后输出到 time sink 进行接收并显示到屏幕上的操作。你可以注意到这里有两根数据曲线被绘制出来,他们都来自于 Data 0,蓝色的曲线为Re(实部),红色部分为 Im(虚部)。如果你根本不知道Re 和 Im 是什么个玩意儿,那么我建议你先学习下我们电子通信类专业的一门必修课程《复变函数》,这将会对你的系统性学习产生很大的帮助。(有意思的是这两个信号的相位差正好为 ,这对于我们的零中频(Zero-IF)接收/发2射机有至关重要的意义,不过这个咱们以后有机会再提。)在这个流程图中,我们很轻松的就把所有的block 连起来了,轻松的离谱你不觉得吗? 没有出现任何头疼的问题或是错误。那么有没有会出现错误的情形呢?当然有,而且经常会有。Source IO size "8" does not match sink IO size "4".源 IO 大小“ 8”与接收器 IO 大小“ 4”不匹配。这似乎是一个和数据类型有关的报错。既然出现了这个错误,那么就说明我们还没有搞懂框图输入输出的数据类型到底是个什么玩意儿。那么现在就让我们点击软件上方的help,这里面有对于数据类型的说明。(最上面那个棕色的看的不是很清楚,不过这问题不大,你用鼠标把它选中高亮就能看清了。)我们可以看到在许多编程语言中都可以看到的常见数据类型。在我们刚才搭建的流程图中,你可以注意到所有连接的模块端口均是蓝色的,这代表当前所传输的数据为Complex Float 32 类型,这意味着它们同时包含实部和虚部,并且每一个都是 Float 32 类型。我们可以推断出,当“Time Sink 时间接收器”采集到这样一个Complex 的数据类型时, 它将在两个不同的通道上同时输出实部和虚部的图像,也就是我们刚才看到的红蓝两种颜色的图像了。现在进入其 Signal Source 的属性面板,并更改“输出类型”参数,将信号源更改为浮点型输出。此时我们传输的数据流是一个普通的 32 位浮点数。可以看到现在我们所有连接的点均变成了橘色,(当然 throttle 也要调整,别问我为什么它还是蓝色的),这也就说明了目前数据类型均匹配,当然刚才出现的报错也就消失了。有同学发现 throttle 的输出连接了两个 block。不同的节点之间是可以支持多条同样的数据链路的,这是非常方便的一点,也是绝大部分图形化编程界面都具有的功能。可以注意到刚才的两条线此时变成了只有一条线,这是因为我们刚刚修改了数据类型。现在让我们来尝试一些更复杂的框图吧。运行结果如下:
2022年04月08日
3,460 阅读
0 评论
5 点赞
2021-07-28
【高数|信号】分式如何拆项?
高次比低次长除法低次比高次4个最简类型案例问题:在高等数学积分被积函数中或者信号、电路中拉普拉斯反变换遇到分母是因式,次方低于分子次方如何拆项?先看拆项格式例题案例解答:
2021年07月28日
865 阅读
0 评论
2 点赞
2021-07-12
图像处理细胞识别程序增加矩形框办法
大家可以参考我的框架程序,完成后续教程编成,思考if (m_bDrag)中能否将m_bDrag换成m_bClickEmpty?1.将下面代码添加到学号view.h文件中 bool m_bClickEmpty; //判断是否点击了空白的地方,以实现拖动框选择 CPoint OldEmptyBegin;//点击空白开始的座标 CPoint NowEmptyEnd;//移动时保存座标2.将下面添加到学号view.cpp文件中void CCellPrg226View::OnMouseMove(UINT nFlags, CPoint point)函数里面(270行)if (m_bDrag)//思考能否将m_bDrag换成m_bClickEmpty { CClientDC dc(this); CBrush* pBrush = CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH)); CBrush* POldBrush = dc.SelectObject(pBrush); int nOldMode = dc.SetROP2(R2_NOTXORPEN); dc.Rectangle(&CRect(OldEmptyBegin, NowEmptyEnd)); dc.Rectangle(&CRect(OldEmptyBegin, point)); NowEmptyEnd = point; dc.SelectObject(POldBrush); dc.SetROP2(nOldMode); } 3.将下面添加到学号view.cpp文件中void CCellPrg226View::OnLButtonDown(UINT nFlags, CPoint point)函数里面 m_bClickEmpty = true; OldEmptyBegin = point; NowEmptyEnd = point; 效果
2021年07月12日
209 阅读
0 评论
4 点赞
2021-07-06
图像处理中VS2019下载及其MFC环境配置
安装环境配置按照教程下载vs软件https://mp.weixin.qq.com/s/dsqCMhO7r8zZ83Fc74gWbQ完成后找到点击下载必须的mfc环境等待下载完毕即可
2021年07月06日
438 阅读
0 评论
5 点赞
2021-07-02
图像处理入门-MFC打开BMP图片
第一步:新建项目"MFC应用程序",项目名为ShowBMP,在应用程序类型中选择"单个文档",点击"确定" 第二步:向CShowBMPView类添加成员变量和成员函数.在右栏的"类视图"右键CShowBMPView添加函数或直接在ShowBMPView.h中直接添加public成员变量和成员函数.添加代码如下:public: //成员变量 CString BmpName; //保存图像文件文件名 CString EntName; //保存图像文件扩展名 CBitmap m_bitmap; //创建位图对象 //成员函数 void ShowBitmap(CDC* pDC, CString BmpName); //用来显示指定位图bmp的函数 第三步:设置打开BMP图片函数.“项目”->“类向导”->选择"类名"CShowBMPView->在命令对象ID中双击"ID_FILE_OPEN"->自动生成默认成员函数OnFileOpen,消息为COMMAND.双击成员函数(Member Functions)进入函数编辑. //**************文件打开****************// void CShowBMPView::OnFileOpen() { //四种格式的文件:bmp gif jpg tiff CString filter; filter = "所有文件(*.bmp,*.jpg,*.gif,*tiff)|*.bmp;*.jpg;*.gif;*.tiff| BMP(*.bmp)|*.bmp| JPG(*.jpg)|*.jpg| GIF(*.gif)|*.gif| TIFF(*.tiff)|*.tiff||"; CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, filter, NULL); //按下确定按钮 dlg.DoModal() 函数显示对话框 if (dlg.DoModal() == IDOK) { BmpName = dlg.GetPathName(); //获取文件路径名 如D:\pic\abc.bmp EntName = dlg.GetFileExt(); //获取文件扩展名 EntName.MakeLower(); //将文件扩展名转换为一个小写字符 Invalidate(); //调用该函数就会调用OnDraw重绘画图 } } 第四步:在ShowBMPView.cpp中编写void CShowBMPView::ShowBitmap(CDC *pDC, CString BmpName)函数,即“二.显示BMP图片基本步骤”.同时通过OnDraw()函数调用ShowBitmap()函数显示图片.代码如下:void CShowBMPView::OnDraw(CDC* pDC) { CShowBMPDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: 在此处为本机数据添加绘制代码 if (EntName.Compare(_T("bmp")) == 0) //bmp格式 { ShowBitmap(pDC, BmpName); //显示图片 } } 第五步:添加“显示BMP格式图片”函数。void CShowBMPView::ShowBitmap(CDC *pDC, CString BmpName) { //定义bitmap指针 调用函数LoadImage装载位图 HBITMAP m_hBitmap; m_hBitmap = (HBITMAP)LoadImage(NULL, BmpName, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_DEFAULTSIZE | LR_CREATEDIBSECTION); /*************************************************************************/ /* 1.要装载OEM图像,则设此参数值为0 OBM_ OEM位图 OIC_OEM图标 OCR_OEM光标 /* 2.BmpName要装载图片的文件名 /* 3.装载图像类型: /* IMAGE_BITMAP-装载位图 IMAGE_CURSOR-装载光标 IMAGE_ICON-装载图标 /* 4.指定图标或光标的像素宽度和长度 以像素为单位 /* 5.加载选项: /* IR_LOADFROMFILE-指明由lpszName指定文件中加载图像 /* IR_DEFAULTSIZE-指明使用图像默认大小 /* LR_CREATEDIBSECTION-当uType参数为IMAGE_BITMAP时,创建一个DIB项 /**************************************************************************/ if (m_bitmap.m_hObject) { m_bitmap.Detach(); //切断CWnd和窗口联系 } m_bitmap.Attach(m_hBitmap); //将句柄HBITMAP m_hBitmap与CBitmap m_bitmap关联 //边界 CRect rect; GetClientRect(&rect); //图片显示(x,y)起始坐标 int m_showX = 0; int m_showY = 0; int m_nWindowWidth = rect.right - rect.left; //计算客户区宽度 int m_nWindowHeight = rect.bottom - rect.top; //计算客户区高度 //定义并创建一个内存设备环境DC CDC dcBmp; if (!dcBmp.CreateCompatibleDC(pDC)) //创建兼容性的DC return; BITMAP m_bmp; //临时bmp图片变量 m_bitmap.GetBitmap(&m_bmp); //将图片载入位图中 CBitmap *pbmpOld = NULL; dcBmp.SelectObject(&m_bitmap); //将位图选入临时内存设备环境 //图片显示调用函数stretchBlt pDC->StretchBlt(0, 0, m_bmp.bmWidth, m_bmp.bmHeight, &dcBmp, 0, 0, m_bmp.bmWidth, m_bmp.bmHeight, SRCCOPY); /*******************************************************************************/ /* BOOL StretchBlt(int x,int y,int nWidth,int nHeight,CDC* pSrcDC, /* int xSrc,int ySrc,int nSrcWidth,int nSrcHeight,DWORD dwRop ); /* 1.参数x、y位图目标矩形左上角x、y的坐标值 /* 2.nWidth、nHeigth位图目标矩形的逻辑宽度和高度 /* 3.pSrcDC表示源设备CDC指针 /* 4.xSrc、ySrc表示位图源矩形的左上角的x、y逻辑坐标值 /* 5.dwRop表示显示位图的光栅操作方式 SRCCOPY用于直接将位图复制到目标环境中 /*******************************************************************************/ dcBmp.SelectObject(pbmpOld); //恢复临时DC的位图 DeleteObject(&m_bitmap); //删除内存中的位图 dcBmp.DeleteDC(); //删除CreateCompatibleDC得到的图片DC }
2021年07月02日
427 阅读
0 评论
4 点赞
2021-06-30
vs2019等版本完全安装到D盘方案-安装前必备
由于VS占用C盘内存过大,现提出一种完全安装到D盘方案,其实这个方案最早(20年11月)我发在了科学网上,也可以在这里观看 http://blog.sciencenet.cn/blog-3432403-1260218.html第一步从微软官网下载 Visual Studio Community 2019(其他版本类似)运行下载的安装程序,到选择安装的组件时退出程序第二步:使用 mklink 创建链接基本用法:mklink /d "链接需要放置的路径" "链接指向的路径"以下为 VS 占用的系统盘文件夹路径(我的系统盘符是 C)C:\Program Files (x86)\Microsoft SDKs C:\Program Files (x86)\Microsoft Visual Studio C:\Program Files (x86)\Windows Kits C:\ProgramData\Microsoft\VisualStudio C:\ProgramData\Package Cache下面是一段代码示例(注意 cmd 以管理员身份运行):对上面那些文件夹移动完成后使用mklink /d创建链接即可知道了原理操作起来就十分简单, 这些必要的文件夹如果有文件在里面,就把这些文件夹移动到非系统盘,如果没有就删除他们 (因为之后我们要创建链接,不删除就不能用他们的名字创建链接)mklink /d "C:\Program Files (x86)\Microsoft SDKs" "D:\Program Files (x86)\Microsoft SDKs" mklink /d "C:\Program Files (x86)\Microsoft Visual Studio" "D:\Program Files (x86)\Microsoft Visual Studio" mklink /d "C:\Program Files (x86)\Windows Kits" "D:\Program Files (x86)\Windows Kits" mklink /d "C:\ProgramData\Microsoft\VisualStudio" "D:\ProgramData\Microsoft\VisualStudio" mklink /d "C:\ProgramData\Package Cache" "D:\ProgramData\Package Cache" 目标文件夹可以自己根据喜好自定义,对安装无影响,但是需要注意要在D盘创建好C盘链接的目标文件夹,不然无法安装。第三步:以正常方式安装 VS2019第一步会在你的系统上装一个 Visual Studio Installer,这次直接运行这个程序安装。注意:安装程序中自定义路径的那一步最好还是自定义到非系统盘,这样能最小化系统盘占用。温馨提示:目标文件夹一定要创建好,不然从 C 盘点过去会提示不存在导致 VS 安装失败。安装包及安装教程:https://mp.weixin.qq.com/s/dsqCMhO7r8zZ83Fc74gWbQ
2021年06月30日
844 阅读
0 评论
2 点赞
2021-06-27
通信原理简答题学习
1、部分响应系统的优点是什么呢?缺点是什么?(或采用部分响应技术会得到什么好处?需要付出什么代价?) 答:优点:频带利用率高,在理论上可达到2Bd/Hz;时域衰减快,可以放宽对定时信号相位抖动的要求,系统的频率特性不是理想矩形,易于实现 缺点:抗噪声能力比非部分响应系统差。 2、什么是2PSK系统的相位模糊现象? 答:从2PSK信号是提取的载波信号存在两种可能的相位,即0相和π相,解调结果与发端的基带信号同相或反相,这就是2PSK系统的相位模糊现象。 3、在设计数字通信接收机输入端带通滤波器的频率特性时,应考虑哪些因素?(至少给出两个因素并说明它们与频率特性的关系) 答:数字通信接收机输入端带通滤波器的带宽应尽量小,以尽可能多地滤除信道噪声,提高带通滤波器输出信噪比,减小误码率;另外整个通信系统的频率特性应满足无码间串扰的要求,而通信系统的频率特性与接收机输入端带通滤波器的频率特性有关,所以设计此带通滤波器时应满足无码间串扰的条件下,尽量减小滤波器的带宽。 4、如何由白噪声得到窄带白噪声,窄带白噪声的功率与其同相分量的功率及正交分量的功率有何关系?答:将白噪声通过窄带带通滤波器,就可以得到窄带白噪声,窄带白噪声的功率与其同相分量的功率以及正交分量的功率是相同的。 5、定性说明误码率与码间串扰、信噪比、位同步信号相位抖动大小及码速率之间的关系。 答:码间串扰越大,误码率越大;信噪比越大,误码率越大;位同步信号相位抖动越大,误码率越大;码速率越大,误码率越大。 6、最佳接收机的误码率通常小于非最佳接收机的误码率,为什么?试加以解释。 7、如何评价模拟通信系统和数字通信系统的有效性有可靠性? 答:模拟通信系统:已调信号带宽越小,有效性越好;解调器输出信噪比越高,可靠性越好;数字通信系统:频带利用率越高,有效性越好;误码率越小,可靠性越好。 8、FM通信系统中采用预加重/去加重技术可达到什么目的?为什么? 答:其目的是为了提高解调器的输出信噪比。因为鉴频器输出噪声功率谱密度与噪声频率平方成正比,对此噪声进行去加重处理可以降低高频噪声,从而减小解调器输出噪声功率。预加重器用以增强基带信号的高频成分,使去加重器输出基带信号不失真,功率不变。 9、在2FSK通信系统中,若1码和0码对应的信号幅度不相同,当无噪声时,对传输信息有影响吗?为什么? 答:无影响,因为信息是通过两个频率传输的,与信号幅度无关。 10、升余弦滚降信号的时域和频域衰减速度有何特点? 答:升余弦滚降信号的时域衰减速度快,频域衰减速度慢。 11、时域均衡中横向滤波器的抽头级数与什么因素有关? 答:抽头级数与输入信号码间串扰个数有关,若有2N个码间串扰值,则抽头级数应该为2N+1。 12、什么是广义平稳?什么是狭义平稳?它们之间有什么关系? 答:广义平稳过程:均值和方差为常数,自相关函数只与时间间隔有关。狭义平稳过程:1到N等于无穷阶概率密度函数均与时间原点无关。狭义平稳是广义平稳和特例,广义平稳不一定是狭义平稳。 13、数字基带信号码型变换的目的是什么?常用码型换有哪些? 答:便于在数字基带信道中传输和接收判决。HDB3、CMI、AMI等。 14、简要叙述匹配滤波器的原理,若匹配滤波器输入信号频谱为s(f),信号能量为E,高斯噪声的双边功率谱密度为n0/2,试给出匹配滤波器的传输函数H(f)和输出最大信噪比。 答:对于特定的滤形的输入信号,匹配滤波器能在判决时间t0提供最大的输出信噪比。H(f)=s*(f)e-j2πft0,r0max=2E/n0。 15、试定性说明相干解调和非相干解调在大信噪比和小信噪比时的抗噪声性能。 答:对小信噪比相干解调和噪声性能优于非相干解调,对大信噪比两者噪声性能差不多。非相干解调存在门限效应,而相干解调没有。 16、为什么PCM编码要用对数量化?A律和u律PCM量化特性为什么要用折线代替对数特性? 答:对数量化可达到“小信号量阶小,大信号量阶大”的要求,改善小信号时的量化信噪比,扩大对输入信号的允许动态范围。用折线代替对数特性是为了能用数字电路来实现。 17、试画出2DPSK信号差分解调的原理框图,和相干解调相比其噪声性能哪种方法好,为什么? 答:相干解调比差分相干解调噪声性能好,因为它的本地载波包含的噪声小,而后者是用前一码元的波形来代替本地载波,包含了信道噪声。 18、QPSK信号是不是恒定包络调制信号?试定性说明QPSK信号经非线性放大器后,产生信号频谱扩展的原因。 答:不是恒定包络。当QPSK信号出现180度相位跳变时,经过发送滤波器后,信号包络会过零,如果此信号再经非线性放大器,原本下降的包络会被提升,即带外高频分量增大,信号频谱扩展。 19、试画出第一类部分响应编码基带传输系统的原理框图,如果发送端的四进制信码为000132103231,试写出预编码器和相关编码器输出的信号序列。 答:bk=ak-bk-1(mod L) Ck=bk+bk-1(算术加) 接收:ak=ck(mod L), L为进制数 ak:000132103231 bk:000120130210 ck:000132143231 接收ak:000132103231 20、设计数字通信接收机输入带通滤波器频率特性时应考虑哪些因素? BPF的通带应等于信号的有效频率范围,让信号不受影响地通过,而输入噪声功率最小。 21、简要叙述数字基带传输系统中传输码的要求(至少三项)? 22、什么是奈奎斯特速率?什么是奈奎斯特带宽? 答:奈奎斯特速率是能消除码间串扰的最大码速率;又称为等效带宽。当码速率等于它的两倍时无码间串扰。 23、数字信号的最佳接收准则是什么?其物理含义是什么? 答:使接收的误码率最小;在接收判决时的信噪比最大。 24、通信系统调制器的作用是什么?何谓线性调制?何谓非线性调制? 答:让载波的参数随调制信号的变化而变化;已调波的频谱是调制信号的频谱经过平移和滤波而得到的;已调波的频谱与调制信号的频谱没有对应关系。 25、简述眼图如何能反映基带信号的传输质量,写出至少三个衡指标。 P157 26、简述随参信道的特点: 答:信号传输延时随时间而变;对信号的衰减随时间而变;存在多径传输现象。 27、窄带高斯白噪声中的“窄带”、“高斯”、“白”的含义各是什么? 答:窄带的含义是:频带宽度B远小于中心频率fc,中心频率fc远离零频;高斯的含义是噪声的瞬时值服从正态分布;白的含义是噪声的功率谱密度在通带范围B内是平坦的为一常数。 28、什么是门限效应?AM包络检波法为什么会产生门限效应?答:小信噪比时,解调输出信号无法与噪声分开,有用信号“淹没”在噪声之中,这时候输出信噪比不是按比例地随输入信噪比下降,而是急剧恶化,这种现象称为门限效应。由于包络检波法的非线性作用,所以AM信号会产生门限效应。 29、已知消息代码为1100000100000000101,编出相应的HDB3码,并简述该码的特点。 答:+1-1000-10+1000+1-100-1+10-1,特点:无直流,且高低频分量小,具有宏观检错能力,三电平波形,连“0”数目不超过3个。 30、简要非均匀量化原理,与均匀量化相比较,非均匀量化的主要优点和缺点。 答:非均匀量化是指量化间隔不相等的量化。信号小时,量化间隔也小,信号大时,量化间隔也大。优点:能改善小信号的信噪比,减小编码位数和传输带宽。缺点:实现相对复杂些。 31、试画出逐次比较型编码器的原理框图,并简要说明该编码器的工作原理。 9-19 32、什么是最佳基带系统,理想信道下的最佳基带系统应满足哪些条件? 答:将消除码间串扰且误码率最小的基带系统称为最佳基带系统。 33、简述数字基带传输系统中,造成误码的主要因素和产生原因。 答:码间串扰和信道噪声是造成误码的两大因素,码间串扰是由于基带传输总特性不理想造成的;信道噪声是一种加性随机干扰,来源有很多,主要代表是起伏噪声(如热噪声)。这两类干扰都会对信号的接收判决产生影响。 34、简述多进制数字调制系统的特点。 答:特点是可以获得比二进制数字调制更高的频带利用率,减小带宽,但是这些受益的代价是需要增加信号功率和实现的复杂度。 35、简述通信系统中采用调制的目的。 答:把基带信号转换成适合在信道中传输的已调信号(即实现有效传输、配置信道、减小天线尺寸);实现信道的多路利用,以提高信道利用率;改善系统抗噪声性能(与制式有关)。 36、在脉冲编码调制中,与自然二进制相比,选用折叠二进制码的主要优点是什么? 答:简化编码过程;在有误的情况下,对小信号的影响小。
2021年06月27日
599 阅读
0 评论
9 点赞
2021-06-24
[通原]第10章信源编码解答
1、2一模拟信号的幅度范围为-10V~+10V,最高频率为fH=1kHz。现对其进行线性PCM传输,若要求量化误差不超过动态范围的±0.1%。试求:(1)最低抽样速率;(2)每个PCM码所需的最小比特数;(3)传输该PCM码序列所需的比特速率。3若A律13折线编码器的最大量化电平Vmax=5V,输入抽样脉冲幅度为-0.9375V。设最小量化间隔为1个单位。求: (1) 编码器的输出码组;(2) 解码器的输出;(3) 计算量化误差。4已知模拟信号抽样值的概率密度f(x)如题图所示。若按4电平进行均匀量化,试计算信号量化噪声功率比。5将一个带宽为4.2MHz的模拟信号用PCM系统进行数字化。要求输出端的信号量噪比至少为40dB。(1)若设Pe=0,求线性PCM码字所需的二进制编码位数和量化器所需的量化电平数M;(2)传输的比特率;(3)若设Pe=10^-4,求系统输出的信噪比。6将下面x换成m7已知某信号的最高频率为2.5kHz,振幅均匀分布在-4V~4V范围以内,用最小抽样速率进行抽样,再进行均匀量化,量化电平间隔为1/32V。采用二进制编码后在信道中传输,假设系统的平均误码率为10^-3,求传输10秒后的错码数目。8已知某简单增量调制器的参数为:抽样频率为80000Hz,量化台阶100mv。用频率为1kHz的正弦信号作为测试信号。试求不发生斜率过载时信号的最大幅值。
2021年06月24日
882 阅读
3 评论
9 点赞
1
2
3
4