《DSP using MATLAB》Problem 6.24

代码:
%% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
%% Output Info about this m-file
fprintf('\n***********************************************************\n');
fprintf(' <DSP using MATLAB> Problem 6.24 \n\n'); banner();
%% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
D = [1001, -63, -449, 978, -205]; fprintf('\nConvert a Sign-Magnitude Format Decimal integer D to its binary representation B! \n');
fprintf('\n %5d binary representation is :-- %20s -- \n', D(1), sm2bin(D(1)) );
fprintf('\n %5d binary representation is :-- %20s -- \n', D(2), sm2bin(D(2)) );
fprintf('\n %5d binary representation is :-- %20s -- \n', D(3), sm2bin(D(3)) );
fprintf('\n %5d binary representation is :-- %20s -- \n', D(4), sm2bin(D(4)) );
fprintf('\n %5d binary representation is :-- %20s -- \n', D(5), sm2bin(D(5)) ); %B = {'1010', '011011011', '11001', '1010101', '011011'};
%B = char('1010', '011011011', '11001', '1010101', '011011');
%B = ['1010'; '011011011'; '11001'; '1010101'; '011011']; B1 = '1010';
fprintf('\nConvert a binary representation B to its Sign-Magnitude Format Decimal integer D! \n');
fprintf('\n --%15s-- Sign-Magn representation is : %10d \n', B1, bin2sm(B1) ); B2 = '011011011';
fprintf('\n --%15s-- Sign-Magn representation is : %10d \n', B2, bin2sm(B2) ); B3 = '11001';
fprintf('\n --%15s-- Sign-Magn representation is : %10d \n', B3, bin2sm(B3) ); B4 = '1010101';
fprintf('\n --%15s-- Sign-Magn representation is : %10d \n', B4, bin2sm(B4) ); B5 = '011011';
fprintf('\n --%15s-- Sign-Magn representation is : %10d \n', B5, bin2sm(B5) );
用到的子函数sm2bin
function B = sm2bin(D);
% Convert a Sign-Magnitude format Decimal integer D
% to its binary representation B
% ----------------------------------------------------------
% B = sm2bin(D)
% D = sign-magnitude format decimal integer
% B = binary representation
%
% s = sign(D); % sign of D (-1 if x<0, 0 if x=0, 1 if x>0)
sb = (s < 0); % sign-bit (0 if x>=0, 1 if x<0)
B = strcat( num2str(sb), dec2bin( abs(D) ) );
另一个子函数bin2sm
function D = bin2sm(B);
% Convert a binary representation B to its
% Sign-Magnitude format Decimal integer D
% ----------------------------------------------------------
% D = bin2sm(B)
% D = sign-magnitude format decimal integer
% B = binary representation
%
%
%B = num2str(B)
sb = str2num( B(1) ); % sign-bit (0 if x>=0, 1 if x<0) if sb == 0
D = (1-sb) * bin2dec( B(2:length(B)) ); % or D = bin2dec( B(2:1:length(B)) )
elseif sb == 1
D = -bin2dec( B(2:length(B)) );
end
运行结果:

第6章的习题我就做到这里了,剩下的不会,以后开始第7章。
《DSP using MATLAB》Problem 6.24的更多相关文章
- 《DSP using MATLAB》Problem 7.24
又到清明时节,…… 注意:带阻滤波器不能用第2类线性相位滤波器实现,我们采用第1类,长度为基数,选M=61 代码: %% +++++++++++++++++++++++++++++++++++++++ ...
- 《DSP using MATLAB》Problem 4.24
Y(z)部分分式展开, 零状态响应部分分式展开, 零输入状态部分分式展开,
- 《DSP using MATLAB》Problem 6.15
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- 《DSP using MATLAB》Problem 6.8
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- 《DSP using MATLAB》Problem 5.24-5.25-5.26
代码: function y = circonvt(x1,x2,N) %% N-point Circular convolution between x1 and x2: (time domain) ...
- 《DSP using MATLAB》Problem 4.15
只会做前两个, 代码: %% ---------------------------------------------------------------------------- %% Outpu ...
- 《DSP using MATLAB》Problem 2.16
先由脉冲响应序列h(n)得到差分方程系数,过程如下: 代码: %% ------------------------------------------------------------------ ...
- 《DSP using MATLAB》 Problem 2.3
本题主要是显示周期序列的. 1.代码: %% ------------------------------------------------------------------------ %% O ...
- 《DSP using MATLAB》Problem 7.29
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
随机推荐
- 批量设置样式json版
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name ...
- xadmin后台分段导出避免timeout
一.问题 xadmin后台功能很强大,特别在导出的时候格式有xls/xlsx.csv.xml.json.实际常用的还是前面2种.xls格式使用的xlwt,有个缺陷,导出数据过大时,会报ValueErr ...
- 【原创】QT简单计算器
代码 //main.cpp #include "calculator_111.h" #include <QtWidgets/QApplication> int main ...
- TreeMap - 源代码学习笔记
TreeMap 实现了 NavigableMap 接口,而NavigableMap 接口继承于 SortedMap接口. 所有本文还会记录 SortedMap 和 NavigableMap 的阅读笔记 ...
- Python3.7.0的安装方法
安装Python3.7.0 1.下载Python-3.7.0.tar.xz包安装 wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.t ...
- (C/C++学习笔记) 六. 表达式
六. 表达式 ● 表达式 表达式 expression An expression consists of a combination of operators and operands. (An o ...
- angular 离开页面相关操作
$scope.$on("$destroy", function() { $interval.cancel(autoRefresh);})
- fk的使用细节
在seiman的博客fk2.3的用法笔记一文中,介绍了当震中距很大时,fk在使用时需要加上-f,这一展平变换的选项. 另外,nt*dt为最终数据的总长度,当震中距为远震范围时,such as:40°, ...
- vue2+webpack 开发环境配置
前提条件: 1.安装node.js https://nodejs.org/en/ 下载安装合适的平台 2.安装npm 第一步:初始化项目 新建文件夹 E:\app 推荐vue项目目录结构: confi ...
- php优秀框架codeigniter学习系列——CI_URI类学习
这篇文章主要介绍CI核心框架工具类CI_URI. 该类主要用来解析uri和决定路由的.关于URI和URL的关系请参考这位朋友的文章.简单来说URI是唯一定位的资源,URL是唯一资源的一个网络可能访问路 ...