CSD编码----数字信号处理--006
有符号数(Signed Digit Number , SD)
- SD编码
1、有三重值 {0,1,-1}
2、应用在不用进位的加法器或乘法器中能够降低复杂性
因为通常可以通过非零元素的数来估计乘法的工作量,而应用SD表示法可以降低乘法的工作量。统计表明,数字的二进制补码中有一半数字是零,对于SD码,零元素的密度增加到三分之二
3、SD表示方法不是唯一的
举例如下:用SD表示十进制数15(15=1111 16=10000)
15=16-1 = 1000(-1)
15=16-2+1 = 100(-1)1
15=16-4+3 = 10(-1)11
但是只有最少非零元素的系统才叫CSD(正则有符号数字系统:Canonic Signed Digit ,CSD)
下附网上搜到的图片(修改了一下)

2.最佳CSD编码
(1)从最低有效位开始,用10。。。0(-1)取代所有大于2的1序列,此外还需要用110(-1)取代1011
(2)从最高有效位开始,用011代替10(-1)
3.分数CSD编码
如求7*X/8
看成7=8-1可以更高效的实现
/*-----------------------------------------------------------------------
Author : WHaoL
Technology blogs : http://www.cnblogs.com/WHaoL/
: http://blog.chinaaet.com/eWorld
Email Address : liangwenhao0603@163.com
Filename : CSD.v
Data : 2016-08-04
Description :
modification history :
Data By Version Change Description
=========================================================================
16/11/5 WHaoL 1.0 Original
=======================================================================*/
`timescale 1ns/1ns
module CSD (
input [:] x,
output [:] y0,y1,y2,y3
);
assign y0 = *x/;
assign y1 = x/*;
assign y2 = x/+x/+x/;
assign y3 = x-x/; endmodule

CSD编码----数字信号处理--006的更多相关文章
- 数字信号处理--FFT与蝶形算法
在数字信号处理中常常需要用到离散傅立叶变换(DFT),以获取信号的频域特征.尽管传统的DFT算法能够获取信号频域特征,但是算法计算量大,耗时长,不利于计算机实时对信号进行处理.因此至DFT被发现以来, ...
- 数字信号处理与音频处理(使用Audition)
前一阵子由于考博学习须要,看了<数字信号处理>,之前一直不清除这门课的理论在哪里应用比較广泛. 这次正巧用Audition处理了一段音频,猛然发现<数字信号处理>这门课还是很实 ...
- 数字信号处理MATLAB简单序列
数字信号处理应用的几个基本序列: 1 单位样本序列 function mainImseq() clc clear disp('生成抽样序列'); y=imseq(,,); %调用样本函数,此时序列下标 ...
- FPGA与数字信号处理
过去十几年,通信与多媒体技术的快速发展极大地扩展了数字信号处理(DSP)的应用范围.眼下正在发生的是,以更高的速度和更低的成本实现越来越复杂的算法,这是针对高级信息服更高带宽以及增强的多媒体处理能力等 ...
- 数字信号处理专题(3)——FFT运算初探
一.前言 FFT运算是目前最常用的信号频谱分析算法.在本科学习数字信号处理这门课时一直在想:学这些东西有啥用?公式推来推去的,有实用价值么?到了研究生后期才知道,广义上的数字信号处理无处不在:手机等各 ...
- 数字信号处理专题(1)——DDS函数发生器环路Demo
一.前言 会FPGA硬件描述语言.设计思想和接口协议,掌握些基本的算法是非常重要的,因此开设本专题探讨些基于AD DA数字信号处理系统的一些简单算法,在数字通信 信号分析与检测等领域都会或多或少有应用 ...
- 分数CSD编码
有符号数系统:有三重值(1, 0, -1) SD编码:12 = 16 - 4 = 10000_0000 - 100 = 1_0000_0(-1)00; = 16 - 9 + 5 = 1_0000_00 ...
- 现代数字信号处理——AR模型
1. AR模型概念观 AR模型是一种线性预测,即已知N个数据,可由模型推出第N点前面或后面的数据(设推出P点),所以其本质类似于插值,其目的都是为了增加有效数据,只是AR模型是由N点递推, ...
- 如何使用Matlab做数字信号处理的仿真1
例如 第三版数字信号处理P51 -1.14习题时域离散信号的相关性研究x(n)=Asin(ωn)+u(n),其中ω=π/16,u(n)是白噪声,现要求 ⑴.产生均值为0,功率P=0.1的均匀分布白噪声 ...
随机推荐
- 《图解设计模式》读书笔记4-1 Bridge模式
目录 概念 代码 角色 类图 想法 概念 Bridge模式即桥接模式.顾名思义,这个模式的作用是将类的功能层次结构和类的实现层次结构连接起来. 功能层次结构 Something -SomethingG ...
- Vagrant 手册之 Vagrantfile - Vagrant 设置 config.vagrant
原文地址 配置的命名空间:config.vagrant config.vagrant 中的设置修改 Vagrant 自身的行为. 1. 可用设置 config.vagrant.host 设置运行 Va ...
- Songwriter CF1252-E(贪心)
题意: 已知一个序列a,问能否将a映射到序列b,使得相邻元素之间的大小关系不变(三种),且相邻元素不能相差超过k,且每个元素范围在[L,R]内.如果能,求字典序最小的b. 思路: 可以设b[1]的范围 ...
- sql server 2008查询时报错,消息:8155,没有为'a'的列2指向任何列
解决方法1: 关掉Sql Server再打开, 重新查询 解决方法2: select T.* from( select row_number() over(order by age desc) a ...
- python常用模块(3)
hashlib模块 hashlib提供了常见的摘要算法,如md5和sha1等等. 那么什么是摘要算法呢?摘要算法又称为哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通 ...
- MySQL错误信息语言设置为英文
MySQL错误信息语言设置为英文 安装的wamp环境中,mysql的错误提示信息默认不是英语(大概是法语) 这里说下改为英语的过程 第一步 找到以下文件夹,确保里面可以看到各种"国际方言&q ...
- tmux多终端工具
在Linux服务器上没有办法像在桌面系统一样开多个终端,所以有时后进行一些操作不是太方便,所以可以使用tmux工具,创建多个终端. 这里仅仅是简单的介绍一下如何创建多个终端和进行多个终端之间切换,tm ...
- Spacemacs 的配置
Spacemacs 的配置 */--> Spacemacs 的配置 Table of Contents 1. 安利 2. 安装 3. layer 4. 自带的 layer 5. better-e ...
- manacher算法学习(求最长回文子串长度)
Manacher总结 我的代码 学习:yyb luogu题目模板 xzy的模板 #include<iostream> #include<cstdlib> #include< ...
- day64--pymysql模块的使用、视图、触发器、函数、存储过程、事务
一.pymysql的下载和使用 (一)pymysql模块的下载:pip3 install pymysql # 实现:使用Python实现用户登录,如果用户存在则登录成功(假设该用户已在数据库中) im ...