JPS60167551A - Data modem using signal processor - Google Patents

Data modem using signal processor

Info

Publication number
JPS60167551A
JPS60167551A JP27298784A JP27298784A JPS60167551A JP S60167551 A JPS60167551 A JP S60167551A JP 27298784 A JP27298784 A JP 27298784A JP 27298784 A JP27298784 A JP 27298784A JP S60167551 A JPS60167551 A JP S60167551A
Authority
JP
Japan
Prior art keywords
data
signal
circuit
output
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP27298784A
Other languages
Japanese (ja)
Other versions
JPS645500B2 (en
Inventor
Shigemichi Maeda
前田 成道
Yoshimune Hagiwara
萩原 吉宗
Masahiro Furuya
古谷 正博
Kohei Ishizuka
石塚 幸平
Kazuhiko Takaoka
高岡 和彦
Garo Kokuryo
賀郎 国領
Yasuhiro Kita
北 靖洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Denshi KK
Hitachi Ltd
Original Assignee
Hitachi Denshi KK
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Denshi KK, Hitachi Ltd filed Critical Hitachi Denshi KK
Priority to JP27298784A priority Critical patent/JPS60167551A/en
Publication of JPS60167551A publication Critical patent/JPS60167551A/en
Publication of JPS645500B2 publication Critical patent/JPS645500B2/ja
Granted legal-status Critical Current

Links

Abstract

PURPOSE:To obtain an automatic equalizer of high performance and also a filter which is easily designed by realizing a function suited to the signal processing of the filter, the automatic equalizer, etc. for a data MODEM by a floating decimal point arithmetic signal processor and making use of a wide dynamic range of the internal operation. CONSTITUTION:A digital signal processor performs a floating decimal point operation by a multiplier 14 and adder/subtractor 15. When the 16-bit data are fetched to the adder/subtractor 15 from an X bus 25, a Y bus 26 and a D bus 20 respectively, the lower 4 bits of input data of a mantissa part must be added with ''0'' through an input selection circuit of the adder/subtractor 15 since no coincidence is obtained for the number of bits of the data of the mantissa part. Furthermore some contrivances are given to an input selection circuit which converts data to increase a dynamic range as well as to an output switching circuit 17 in the digital signal processor in order to realize an MODEM easily. Thus the processor can perform also a fixed decimal point operation by the designation of a program.

Description

【発明の詳細な説明】[Detailed description of the invention]

〔発明の利用分野〕 本発明は浮動小数点演算機能を備えた信号処理プロセッ
サを用いて構成されるデータモデム(変復調器)に関す
る。 〔発明の背景〕 モデムは第1図に示されるように、II I Hおよび
” o ”の信号系列からなるデータまたはファクシミ
リ信号を音声電話回路に適した信号形態に変調(送信部
)して音声回線に送出し、音声回線からの信号を復調(
受信部)して元の’]” 、”O”の信号系列に変換す
る機能を有する。 このモデムを信号処理専用のプロセッサで構成する手法
が最近、出現しはじめている。 信号処理プロセッサは、プログラム・メモリとデータを
高速度で処理するための専用の乗算器および加減算器を
内蔵するLSIとして構成され、プログラムを変えるこ
とによりディジタル・フィルタ、コーデック(CODE
C)、エコーキャンセラー等の各種の用途に適合させる
ことができ、モデムの構成に有力な手段となっているゆ
ムモデムの機能を第1図を用いて説明する。 第1図において入力端子1000に入力されたデータあ
るいはへファクシミリ信号であるr 1.71゜rr 
Onの2値系列からなる信号がスクランブラ1001で
ランダム化され差動符号器1002で所定の符号変換さ
れる。差動符号器の出力はそ1+。 ぞれ二次元データのY軸、Y軸方向に分解されて3− 低域フィルタ1003.1004を通過して不用成分が
除去され、変調回路1005,1006で特定周波数の
搬送波との乗算が実行され加算器1007でそれぞれY
軸、Y軸の成分が加算される。スクランブラ1001か
ら加算器1007まではディジタル演算で実行され、D
/A (ディジタル−アナログ変換器)1008.アナ
ログ低域フィルタ1009を経て、音声回線に適した信
号が出力端子1010に出力される。 一方、受信部においては音声回路を伝送されてきたアナ
ログ信号が入力端子1013に入り、アナログ帯域フィ
ルタ1014を通りAGC(自動利得制御)回路101
5で所定の振幅レベルまで増幅され、A/D (アナロ
グ−ディジタル変換器)1016でディジタル信号に変
換される。このディジタル信号は一方はAGC回路10
15の制御信号を得るために電力計算回路1017に入
力され、他方は入力信号を復調するために復調回路10
18.1019に入力され、Y軸、Y軸成分の波形が得
られる6低域フイルタ1020゜4− 1021でそれぞれの波形が成形されて、自動等止器1
023で音声回線で歪んだ波形が補償されて元の送信信
号に等しい波形が識別判定回路1024に入力されて、
差動復号器1025.デスクランプ1026を通って元
の送信データあるいは送信ファクシミリ信号に等しいr
r 1 u 、 rr Q nの2値系列信号が出力端
1027に得られる。タイミング抽出回路1022はA
/Dの標本化パルスを得るための機能を有し1通常低域
フィルタ1020.1021の出力信号から標本化パル
スを抽出している。 また、自動等化器1023は識別判定回路1024から
得られる制御信号での特性が音声回路の特性変動に応じ
て自動的に追従する。 以上、説明した如くモデムは1021゜1029で示さ
れるフィルタ、変復調回路、自動等化器等の信号処理演
算部分と1011゜1017.1028で示されるスク
ランブラ、差動符号復号器等の信号変換部分とにその機
能が分割される。 このようにモデムは信号処理演算部が中心機能であり、
信号処理プロセッサが十分適用できる装置である。 しかしながら従来の信号処理プロセッサをそのままの形
でモデムに適用すると扱える数値の範囲(ダイナミック
レンジ)が狭いため、設計が困難となり、ある場合には
モデムが実現できない場合が生じる。 これは従来の信号処理プロセッサが固定小数点形式を用
いており、ダイナミックレンジを広く取れないという理
由からである。 簡単に従来の固定小数点信号処理プロセッサを用いた場
合のモデム構成の問題点について述べよう。 モデムには第1図に示したように、各種のフィルタ回路
が含まれている。 たとえば、伝達特性 H(Z)EHl(Z)・H2(Z)・H3(Z) −1
1,)YHt(Z)(+=1.2.3)は各部分フィル
タの伝達特性)を有するディジタルフィルタを固定小数
点演算形式で演算することを考えてみよう。 フィルタ設計では通常H(Z)の特性をもつフィルタを
直接そのまま構成することはせずに各因数Ht (z)
(たとえばB jquadフィルタ等)に分解してその
回路を縦続接続している。 この場合、第2図に示すように、H1(Z)。 H2(z)、 I−(3(z)の順で縦続接続する場合
と82 (Z)、H1(Z)、H3(Z)の順で縦続接
続する場合とではフィルタの信号レベルダイヤが異なる
。A−形構成ではb点での信号レベルが下がるためS/
N (信号成分対まるめ雑音)に注意して設計しなけれ
ばならない。また、B−形構成ではb点での信号のオー
バフローを生じないように設計する必要がある。図示す
るように取り扱われる数値の範囲が固定小数点表示で表
現できる場合はフィルタは構成できるが、ダイナミック
レンジが狭く上記のレベルダイヤが実現できない場合、
フィルタは実現できないことになる。 7− このように、ダイナミックレンジが狭い固定小数点形式
の信号処理プロセッサを用いたモデムの構成は実現でき
るフィルタのパラメータが制限を受けることになる。 〔発明の目〕 本発明の目的は、信号処理プロセッサでモデムを構成す
る場合の上述の問題点を解決することである。 〔発明の概要〕 本発明は上記目的を達成するためモデムをダイナミック
レンジの広い浮動小数点信号処理プロセッサを用いて構
成し、実現できるパラメータの制限をなくしたことを特
徴とするものである。 更に詳しく言えば、本発明の一部をなすディジタル信号
処理プロセッサは、それぞれ指数表示部と仮数表示部と
からなる第1.第2のデータを供給する手段と、上記第
1.第2のデータの指数表示部同士を加算し、仮数表示
部同士を掛算して演算結果を出力する浮動小数点データ
乗算手段と、上記乗算手段の演算結果が1つの入力とし
て供給8− される浮動小数点データ加減算手段と、上記加減算手段
による演算結果を保持するためのデータ累算手段と、上
記データ供給手段と乗算手段と加減算手段とに接続され
た第1のデータバスと、上記累算手段との出力を上記加
減算手段に入力するための第2のデータバスと、上記累
算手段と」ユ記第1、第2のデータバスとの間に接続さ
れたスイッチング手段と、プログラムに従って上記各要
素の動作を制御する制御手段とからなることを特徴とす
る。 〔発明の実施例〕 以下、本発明のモデムの一部である信号処理プロセッサ
の実施例を図面を参照して説明する。 なお、信号処理プロセッサとモデムの他の構成要素との
関係は後で第20図によって説明する。 第3図は本発明によるモデムに使用されるディジタル信
号プロセッサの全体構成図であり、1はプログラムを格
納するためのメモリ、2は上記プログラムメモリ】の読
出しアドレスを指示する(プログラムカウンタ、3は」
二記プログラムメモリ1に接続された命令レジスタ、4
は命令レジスタ3に読出された命令語からプロセッサを
動作させるための各種の制御信号Sを発生させる制御回
路である。この実施例では、メモリ1に格納される命令
語は例えば22ビツトからなり、それぞれオペレーショ
ンコードとデータ、アドレスまたはアドレス制御情報を
含んでいる。プログラムカウンタ2と命令レジスタ3は
16ビツトのデータバス(Dバス)20に接続されてい
る。 5.6はデータを格納するためのメモリ、7は汎用レジ
スタを示す。メモリ5.6は一方をランダムアクセス・
メモリ(RAM)、他方を読出し専用メモリ(ROM)
とすることができる。また、それぞれのメモリは複数個
の小容量のROMあるいはRAMの複合体であってもよ
い。上記メモリは16ビツトのデータを記憶し、各デー
タは選択回路8を介して16ビツトのXバス21あるい
はYバス22に読出される。9,10はそれぞれ上記デ
ータメモリ5,7の下位アドレスを指定するレジスタ、
11.12は上記メモリの上位アドレスを指定するレジ
スタである。尚、レジスタ11ばXバス21に読出すべ
きデータの上位アドレスを、またレジスタ12はYバス
22に読出すべきデータの上位アドレスまたは汎用レジ
スタ7のアドレスを与えており、これらのレジスタには
命令レジスタ3からデータバス23を介してアドレス情
報が与えられる。 14はXバス21とYバス22がら与えられる−の 2つのデータを積を算出し、結果をPバス24に出力す
る浮動小数点演算型の乗算器であり、この乗算器は、後
述するように2つの入力データX。 Yを保持するためのレジスタを含み、演算されない2つ
のデータX、YをそのままXバス25.Yバス26に出
力する。 15は浮動小数点演算型の加減算器であり、上記乗算器
14の出力データX、Y、Pおよびデータバス20.2
7のデータD、Aを入力とじて演算を行い、その結果を
累算器16に出力する。 17は上記累算器16にラッチされた浮動小数点データ
を20ビツトのデータバス(Aバス)27−11= に出力すると共に、上記データを16ビツトのデータに
変換してDバス20に出力するスイッチ回路、18は上
記乗算器14および加減算器15に接続され、これらの
演算結果に関する状態コードを記憶する状態コードレジ
スタである。 30はデータバス20上の16ビツトのデータを外部端
子D O−D 16に並列的に出力するための出力レジ
スタ、31は上記外部端子からの16ビツトデータをデ
ータバス20に並列的に取り込むための入力レジスタで
ある。また32は端子5IENの入力パルスが′1″の
期間中に、端子5ICKの入力クロックに同期して端子
SIからのシリアル入力データを取り込むための16ビ
ツトのシフトレジスタ、33は端子5OENの入力パル
スがII I Hの期間中に、端子5OCKの入力クロ
ックに同期して端子SOにデータを直列的に出力するた
めの16ビツトのシフトレジスタを示す。これら2つの
シフ1−レジスタはそれぞれデータバス20と16ビツ
ト並列接続されている。 35はプロセッサの動作状態を制御するレジス−12= り、36はリピート命令によりプロセッサに成る命令を
繰り返して実行させる場合、その繰り返し回数がセット
されるカウンタ、37はプロセッサの内部状態を示すス
テータス・レジスタを示す。 レジスタ35.37の内容はそれぞれデータバス20、
端子り。−Dl、を介して外部から書込み、読出しが可
能である。 40はプロセッサ動作への割込みと入出力動作とを制御
するための制御回路であり、例えば端子5IEN、5O
ENの入力信号立上りでシフトレジスタ32.33を動
作可能とし、それぞれの信号の立下りでプログラムに割
り込みをかけ、また、端子IEへの入出力信号の立上り
でレジスタ30゜31を起動し、その立下りでプログラ
ムに割り込みをかけるよう動作する。41は外部の制御
装置(例えばマイクロコンピュータ)からの信号に応じ
てプロセッサ動作を制御するファンクション制御回路で
あり、例えば端子TXAKからDMA転送モードの受認
信号、端子R/Wから並列入出力データの転送方向を示
す信号、端子C8からこのプロセッサを外部装置が選択
したことを示す信号、端子TESTからテスト動作モー
ドの指定信号。 R8Tからリセット信号、端子F o−aから外部装置
による動作制御信号をそれぞれ受け取り、端子T x 
RQから並列データ転送要求信号を出力する。 端子Bit Iloはデータを1ビツトずつ入出力する
ための双方向入出力端子を示す。42はクロックパルス
発生回路であり、端子O8Cを介して外部回路より基本
となるクロックを受けとり、これに基づきプロセッサ動
作に必要な各種の内部クロックを発生し、また、端子S
’YNCにプロセッサの内部動作と外部システムの同期
用のクロックを出力する。 次に第4図、第5図、第6図により乗算器14と加減算
器15について更に説明する。 乗算器14には、第4図に示す如くXバス21゜■バス
22の16ビツトのデータが入力される。 これらのデータはメモリ5,6.汎用レジスタ7あるい
はデータバス20から与えられる。第5図(A)に示す
ように、これらのデータは下位4ビツトが指数部、上位
12ビツトが仮数部であり、斜線を施して示したそれぞ
れの部分の最上位ビット、すなわち23.216の位置
にあるビットがサインビットとなっている。また、小数
点は216と214との間にある。第4図に示如く、X
バス21とYバス22から与えられた指数部データと仮
数部デー・夕は、それぞれレジスタ5]、52.53お
よび54に保持され、レジスタ51.52の指数部デー
タは加算回路55によって加算され4ビツトの出力レジ
スタ56を介してPバス24に出力される。一方、レジ
スタ53.54の仮数部データは、通常の固定小数点演
算の場合と同様の回路構成をもつ乗算回路57に入力さ
れ、乗算結果は上位16ビツトが出力レジスタ58を介
してPバス24に出力される。つまり、乗算器14の演
算出力は、第5図(B)に示す如く、下位4ビツトの指
数部と上位16ビツトの仮数部とからなる20ビツトの
データとなって加減算器15に入力される。尚、レジス
タ52.54の出力はXバス25に、またレジスタ51
.53の出力はYバス−15− 26に送出され、それぞれ16ビツトのデータと2.0
.24〜27を介して、データD、P、X。 Y、Aが入力される。これらのうち、データP。 Y、Dは選択回路60に入力され、制御信号S。 で指定された1つのデータが選択される。また、データ
A、Xは選択回路61に入力され制御信号S2で指定さ
れた1つのデータが選択される。ここで、入力データD
、X、Yはそれぞれ第5図(A)に示した16ビツトデ
ータである。後で述べるように、これらの16ビツトデ
ータが指定されたとき、選択回路60.61はこれらの
データを第5図(B)に示した20ビツトデータに変換
して出力する構成となっている。このビット変換は、入
力データD、X、Yが固定小数点データか浮動小数点デ
ータかによって異なり、変換動作は制御信号S3によっ
て指定される。これによって浮動小数点演算型の加減算
器で固定小数点表示の入力データも処理できるようにな
っている。尚、−16= 制御信号S1.S2.S3・・・・・Snはプログラム
中の命令語に対応して制御回路4から出力される。 選択回路60からの出力データをβ(指数部βつ、仮数
部βM)、選択回路61からの出力データをα(指示部
α。、仮数部αM)とすると。 指数部データα。は選択回路62を介して比較回路63
に入力され、指数部データβゆと大小比較される。また
、これらの指数部データα。、βやはそれぞれ引算回路
64と選択回路65にも入力される。仮数部データα7
はネゲート回路66を介して選択回路67.68に入力
され、仮数部データβ7は直接選択回路67.68に入
力される。 ネゲート回路66は、この実施例の場合、データαとβ
との引算を後述の加算器構成のA L U 75により
実現するために設けられたものであり、加算演算の場合
にはデータαヮはネゲート回路を素通りする。」二記選
択回路65,67.68は、それぞれ比較回路63の出
力信号に応じて2つの入力のうちの一方を選択する。選
択回路65の出力はラッチ回路71に、選択回路67の
出力はシフト回路69を介してラッチ回路72に、また
選択回路68の出力はラッチ回路73にそれぞれタイミ
ング信号Cでラッチされる。引算回路64も上記比較回
路63の出力によって制御され、比較結果に応じて入力
α9.β。の大きい方から小さい方を引算するよう動作
する。シフト回路69は、選択回路70を介して得られ
る上記引算回路64の出力に応じたビット数だけ、入力
データを右方向にシフト動作する。このシフト回路69
の動作は、選択回路70に入力されるもう1つのデータ
Eによっても制御され、シフトビット数の選択は制御信
号S7によって行われる。 ラッチ回路72.73の出力6A+8Bは、第6図(B
)に示すように、制御信号S8で動作する固定小数点演
算型の加算器(ALU)75に入力され、加算結果UM
は左方向シフト回路76に与えられる。一方、ラッチ回
路71の出力γは定数加算回路77と、引算回路78の
一方の入力端子に入力される。79は加算器75の出力
UMを判定する零検出回路であり、補数表示で与えられ
る加算器の出力UMが正数の場合、UMの最上位にある
サインビットに続いた0 011ピッ1−の連続個数を
カウントする。U、、Iが負数の場合には、上記サイド
ビットに続<”i” ビットの連続個数をカウントする
。上記零検出回路79の出力01はデータの正規化およ
びオーバフロ一対策のため設けられた出力補正回路80
を介してシフト回路76に与えられ、このシフ]・回路
によるデータのシフトビット数を決定する。また」二記
零検出回路79の出力θ□は、引算回路78の他方の入
力端子にも入力され、この引算回路の出力UEは出力補
正回路80を介して累算器16の指数部16Xに入力さ
れる。上記累算器16の仮数部16Mには、出力補正回
路80において補正された上記シフト回路76からの出
力データL′ヮが入力される。 出力補正回路80は、加算器75から出力されるオーバ
ーフロー検出信号○VFと引算回路78から出力される
アンダフロー検出信号UNFとに応じて零検出回路79
の出力θ1と定数加算回路−19= 77の出力0□とのいずれかを選択する選択回路81と
、プログラムによる制御信号SIlに応じて上記選択回
路81の出力とプログラムで与えられたデータFとのい
ずれかをシフト回路76にシフトビット数指示信号Oと
して与える選択回路82と、オーバーフロー信号OvF
が“1″のとき引算回路出力UEに1を加算し、この加
算結果LEにもオーバーフローを生じたとき信号EOV
Fを出力するインクリメント回路83と、上記インクリ
メント回路83と累算器16の指数部16xとの間に挿
入された指数部補正回路85と、シフト回路76と上記
累算器16の仮数部16Mとの間に挿入された仮数部補
正回路87と、上記2つの補正回路85.87の動作を
信号UNFおよびEOVFに応じて制御する制御回路8
9からなっている。 以上の構成からなる加減算器15は次のように動作する
。 第6図(A)に示した2つの入力選択回路61゜60の
それぞれの出力α、βは浮動小数点表示の一2〇− データであり、その値は次式で表される。 今、α。〉β。の関係にある2つのデータα。 βの加算演算を行う場合を仮定すると、加算結果2は、 で与えられる。 比較回路63はαゆとβ9の大小を比較し、選択回路6
5には大きい方の指数部データα□を選択させ、選択回
路67には、小さい方の指数部β。と対応する仮数部デ
ータβMを選択させ、選択回路68には大きい方の指数
部α6と対応する仮数部データα7を選択させ、引算回
路64には大きい方の指数α9から小さい方の指数βゆ
を引くよう制御信号を与える。加算演算の実行中は、選
択回路70は引算回路64からの出力(α9−β。)を
選択しており、シフト回路69は選択回路67の出力β
9を(αや一β9)ビットだけ右方向(下位ビット方向
)にシフトするよう動作する。この結果、ラッチ回路7
1,72.73の各−(α。−β2) 出力は、γ=αE + eIL ”β7・2eB−α7
となり、eい十88の演算を行った加算器75の出力U
Mは第(1)式の仮数部を表す。 従って、この段階での演算値2は次式で示される。 零検出回路79と左方向シフ1−回路76は、加算器出
力UMをその絶対値が最大となるよう正規化するための
ものである。第7図(A)に示す如く、零検出回路79
によってデータUMのサインビットに続く(小数点以下
の)連続する” o ”の個数01を検出し、シフト回
路76でデータUMをO□ビットだけ左側(最上位ビッ
ト側)にシフトすれば、絶対値が最大の仮数部データL
Mが得られる。UMが負数の場合には、第7図(B)の
如く、連続する+11 rrの個数だけシフトすればよ
い。この場合、指数部データγについては、引算回路7
8によって(γ−01)の演算を行い、その出力Uやを
正規化された指数値とする。データUMにオーバーフロ
ーが生じていなければ、インクリメント回路83の出力
しEは正規化された上記指数値UEに等しくなり、正規
化の処理は次式%式% 指数部γの大きさを4ビツトとすると、2の補数表示に
よってγが表し得る値は〔+7〉γ〉−8〕の範囲に制
限される。従って上記仮数部データの正規化の際、零検
出回路の検出値θ1だけ完=23− 全にデータUMを左方向にシフトしようとすると、指数
部側の(γ−01)の値が−8よりも小さくなり、引算
回路にアンダーフローを生ずる場合がある。このとき(
γ−01)の演算を行う引算回路78からは、データの
アンダーフローを示す信号(ボロー信号)UNFが発生
される。第6図(B)の回路では、上記信号UNFが発
生したとき、選択回路8工が入力θ1に代えて定数加算
回路77の出力θ2を選択し、上記定数加算回路77が
指数部のデータγに定数「8」を加えた値をデータ0□
として出力するようにしである。このようにすれば、例
えばγの値が「−5」のときθ2の値は「3」となるか
ら、仮数部データUMのシフトビット数は3ビツトに制
限され、指数部の正規化後の値が最小値「−8」に留ま
る。信号UNFが生じたとき指数部を「−8」にする操
作は、後で第1J図で説明する指数部補正回路85によ
って行われる。 加算器75の演算結果UMに、第8図(A)。 (B)に示す如く、オーバーフローを生じた場合、=2
4− キャリー出力にデータの真の符号が現われ、サインビッ
トの位置に数値の最」1位のビットが現われている。従
ってこの場合には、オーバーフロ検出信号OVFによっ
て、選択回路81と零検出回路79の動作を停止させ、
シフト回路76に1ビット右シフ1〜動作をさせ、イン
クリメント回路83にU□(=γ)+1の動作をさせ、
データ2を次式のように操作すればよい。 上記の操作を行うシフト回路76の1例を第9図に示す
。この回路は、シフトビット数指示データθの各ビット
03〜θ。に対応した8ビツトのシフタ761.4ビツ
トのシフタ762.2ビツトのシフタ763および1ビ
ツトのシフタ764からなり、各シックのそれぞれの信
号ラインのスイッチSW’a〜S W oは、対応する
制御ビット03〜θ。がrr i rrのとき下位ビッ
ト側の接点に接続される。また、1ビツトシフタ764
の各スイッチSWoは、オーバーフロー検出信号OVF
がLL +、 IIのとき上位ビット側の接点に接続さ
れ、サインビットの出力線1−18がキャリー信号入力
端子765と接続されて、上述したデータの1ビット右
シフト動作を実現する。 第6図の回路で、加算器75のオーバーフロー検出信号
OVFが1111+となったとき、インクリメント回路
83による(γ+1)の演算結果にもオーバーフローが
生ずる場合がある。この場合には、演算結果Z (=α
十β)にオーバーフローを生じたことを意味
[Field of Application of the Invention] The present invention relates to a data modem (modulator/demodulator) configured using a signal processing processor with a floating point arithmetic function. [Background of the Invention] As shown in FIG. 1, a modem modulates data or facsimile signals consisting of II I H and "o" signal series into a signal form suitable for a voice telephone circuit (transmission section) to transmit voice signals. and demodulates the signal from the voice line (
It has the function of converting the modem into the original ']", "O" signal sequence by converting it into the original ']", "O" signal sequence.Recently, a method of configuring this modem with a processor dedicated to signal processing has begun to appear.The signal processing processor is a program・It is configured as an LSI with a built-in dedicated multiplier and adder/subtractor to process memory and data at high speed.
C) The functions of the Yumu modem, which can be adapted to various uses such as an echo canceller and is an effective means for configuring a modem, will be explained with reference to FIG. In FIG. 1, the data or facsimile signal input to the input terminal 1000 is r 1.71゜rr.
A signal consisting of an On binary series is randomized by a scrambler 1001 and subjected to predetermined code conversion by a differential encoder 1002. The output of the differential encoder is so1+. The two-dimensional data is decomposed in the Y-axis and Y-axis directions, passes through low-pass filters 1003 and 1004 to remove unnecessary components, and is multiplied by a carrier wave of a specific frequency in modulation circuits 1005 and 1006. Y in each adder 1007
Axis and Y-axis components are added. From the scrambler 1001 to the adder 1007 are executed by digital operations, and D
/A (digital-to-analog converter) 1008. After passing through an analog low-pass filter 1009, a signal suitable for an audio line is output to an output terminal 1010. On the other hand, in the receiving section, an analog signal transmitted through the audio circuit enters an input terminal 1013, passes through an analog bandpass filter 1014, and enters an AGC (automatic gain control) circuit 101.
The signal is amplified to a predetermined amplitude level at step 5 and converted into a digital signal by an A/D (analog-to-digital converter) 1016. This digital signal is connected to the AGC circuit 10 on one side.
15 control signals are input to the power calculation circuit 1017, and the other is input to the demodulation circuit 10 to demodulate the input signal.
18. 1019, the Y-axis and Y-axis component waveforms are obtained. 6 Low-pass filters 1020° 4-1021 shape each waveform, and the automatic equalizer 1
At 023, the waveform distorted by the audio line is compensated and a waveform equal to the original transmission signal is input to the identification determination circuit 1024.
Differential decoder 1025. r equal to the original transmitted data or transmitted facsimile signal through desk lamp 1026
A binary sequence signal of r 1 u and rr Q n is obtained at the output terminal 1027. The timing extraction circuit 1022 is A
/D sampling pulse is extracted from the output signal of one normal low-pass filter 1020, 1021. Furthermore, the automatic equalizer 1023 automatically follows the characteristic of the control signal obtained from the discrimination determination circuit 1024 in accordance with the characteristic variation of the audio circuit. As explained above, the modem has a signal processing operation section such as a filter, a modulation/demodulation circuit, an automatic equalizer, etc. indicated by 1021° 1029, and a signal conversion section such as a scrambler, differential code decoder, etc. indicated by 1011° 1017.1028. Its functions are divided into In this way, the main function of a modem is the signal processing calculation section.
This is a device to which a signal processing processor can be fully applied. However, if a conventional signal processor is applied as is to a modem, the range of numerical values that can be handled (dynamic range) is narrow, making design difficult, and in some cases it may not be possible to realize a modem. This is because conventional signal processors use a fixed-point format and cannot have a wide dynamic range. Let us briefly discuss the problems with modem configurations when using conventional fixed-point signal processors. As shown in FIG. 1, the modem includes various filter circuits. For example, the transfer characteristic H(Z)EHl(Z)・H2(Z)・H3(Z) −1
Let us consider that a digital filter having the following equation (1,)YHt(Z) (+=1.2.3) is the transfer characteristic of each partial filter) is operated in a fixed-point arithmetic format. In filter design, we usually do not construct a filter with the characteristic H(Z) directly, but instead calculate each factor Ht (z).
(For example, Bjquad filter, etc.) and the circuits are connected in cascade. In this case, as shown in FIG. 2, H1(Z). The signal level diagram of the filter is different when connecting in cascade in the order of H2 (z), I-(3 (z) and when connecting in cascade in the order of 82 (Z), H1 (Z), H3 (Z) .In the A-type configuration, the signal level at point b decreases, so S/
N (signal component vs. rounding noise) must be taken into consideration when designing. Furthermore, in the B-type configuration, it is necessary to design it so that no signal overflow occurs at point b. If the range of numerical values to be handled as shown in the figure can be expressed in fixed-point representation, a filter can be constructed, but if the dynamic range is narrow and the above level diagram cannot be realized,
A filter would not be possible. 7- In this way, when a modem is configured using a fixed-point signal processor with a narrow dynamic range, the parameters of the filter that can be realized are limited. [Object of the Invention] An object of the present invention is to solve the above-mentioned problems when a modem is configured with a signal processing processor. [Summary of the Invention] In order to achieve the above object, the present invention is characterized in that a modem is configured using a floating point signal processor with a wide dynamic range, and there are no restrictions on the parameters that can be realized. More specifically, the digital signal processor forming a part of the present invention includes a first . means for supplying the second data; floating-point data multiplication means for adding the exponent display parts of the second data and multiplying the mantissa display parts to output the calculation result; a decimal point data addition/subtraction means, a data accumulation means for holding the calculation result of the addition/subtraction means, a first data bus connected to the data supply means, the multiplication means, and the addition/subtraction means; a second data bus for inputting the output of and control means for controlling the operation of the controller. [Embodiments of the Invention] Hereinafter, embodiments of a signal processing processor that is a part of the modem of the present invention will be described with reference to the drawings. The relationship between the signal processor and other components of the modem will be explained later with reference to FIG. FIG. 3 is an overall configuration diagram of a digital signal processor used in a modem according to the present invention, in which 1 is a memory for storing programs, 2 is a program counter, and 3 is a program counter for instructing the read address of the program memory. ”
2. Instruction register connected to program memory 1; 4;
is a control circuit that generates various control signals S for operating the processor from the instruction word read into the instruction register 3. In this embodiment, the instruction word stored in the memory 1 consists of, for example, 22 bits, each containing an operation code, data, address or address control information. The program counter 2 and instruction register 3 are connected to a 16-bit data bus (D bus) 20. 5.6 is a memory for storing data, and 7 is a general-purpose register. Memory 5.6 has one side for random access.
Memory (RAM), the other is read-only memory (ROM)
It can be done. Further, each memory may be a composite of a plurality of small capacity ROMs or RAMs. The memory stores 16-bit data, and each data is read out to the 16-bit X bus 21 or Y bus 22 via the selection circuit 8. 9 and 10 are registers specifying lower addresses of the data memories 5 and 7, respectively;
11 and 12 are registers that designate the upper address of the memory. Note that the register 11 gives the upper address of the data to be read to the X bus 21, and the register 12 gives the upper address of the data to read to the Y bus 22 or the address of the general-purpose register 7, and these registers are given instructions. Address information is given from register 3 via data bus 23. 14 is a floating point multiplier that multiplies the two data - given from the X bus 21 and the Y bus 22, and outputs the result to the P bus 24. Two input data X. It includes a register for holding Y, and the two unoperated data X and Y are directly transferred to the X bus 25. Output to Y bus 26. Reference numeral 15 denotes a floating point arithmetic type adder/subtractor, which receives the output data X, Y, P of the multiplier 14 and a data bus 20.2.
The data D and A of No. 7 are input, and the calculation is performed, and the result is output to the accumulator 16. 17 outputs the floating point data latched by the accumulator 16 to the 20-bit data bus (A bus) 27-11=, and also converts the above data into 16-bit data and outputs it to the D bus 20. A switch circuit 18 is a state code register connected to the multiplier 14 and the adder/subtractor 15, and stores a state code related to the results of these operations. 30 is an output register for outputting 16-bit data on the data bus 20 to the external terminal D O-D 16 in parallel; 31 is for capturing 16-bit data from the external terminal to the data bus 20 in parallel. is the input register of Further, 32 is a 16-bit shift register for taking in serial input data from the terminal SI in synchronization with the input clock of the terminal 5ICK while the input pulse of the terminal 5IEN is '1'', and 33 is the input pulse of the terminal 5OEN. shows a 16-bit shift register for serially outputting data to the terminal SO in synchronization with the input clock of the terminal 5OCK during the period II IH. 35 is a register for controlling the operating state of the processor, 36 is a counter to which the number of repetitions is set when the processor is caused to repeatedly execute an instruction by a repeat instruction, and 37 is a register for controlling the operating state of the processor. indicates a status register indicating the internal state of the processor.The contents of registers 35 and 37 are data bus 20 and 37, respectively.
Terminal. -Dl, it is possible to write and read from the outside. 40 is a control circuit for controlling interrupts to processor operations and input/output operations; for example, terminals 5IEN, 5O
The shift registers 32 and 33 are made operational by the rising edge of the input signal to EN, and the program is interrupted by the falling edge of each signal. Also, the registers 30 and 31 are activated by the rising edge of the input/output signal to the terminal IE, and their It operates to interrupt the program at the falling edge. 41 is a function control circuit that controls processor operation according to signals from an external control device (for example, a microcomputer); for example, a DMA transfer mode acknowledgment signal is sent from the terminal TXAK, and a parallel input/output data A signal indicating the transfer direction, a signal indicating that an external device has selected this processor from terminal C8, and a signal specifying the test operation mode from terminal TEST. Receives a reset signal from R8T, receives an operation control signal from an external device from terminal F o-a, and receives terminal T x
A parallel data transfer request signal is output from RQ. Terminal Bit Ilo indicates a bidirectional input/output terminal for inputting/outputting data one bit at a time. 42 is a clock pulse generation circuit, which receives a basic clock from an external circuit via a terminal O8C, generates various internal clocks necessary for processor operation based on this, and also receives a basic clock from an external circuit through a terminal O8C.
'Outputs the clock for synchronizing the internal operation of the processor and the external system to YNC. Next, the multiplier 14 and the adder/subtractor 15 will be further explained with reference to FIGS. 4, 5, and 6. The multiplier 14 receives 16-bit data from the X bus 21° bus 22 as shown in FIG. These data are stored in memories 5, 6 . It is given from the general-purpose register 7 or the data bus 20. As shown in FIG. 5(A), the lower 4 bits of this data are the exponent part, and the higher 12 bits are the mantissa part. The bit in this position is the sign bit. Also, the decimal point is between 216 and 214. As shown in Figure 4,
The exponent data and mantissa data given from the bus 21 and the Y bus 22 are held in registers 5, 52, 53, and 54, respectively, and the exponent data in registers 51, 52 are added by the adder circuit 55. It is output to the P bus 24 via a 4-bit output register 56. On the other hand, the mantissa data in the registers 53 and 54 are input to a multiplication circuit 57 having a circuit configuration similar to that of normal fixed-point arithmetic, and the multiplication result is sent to the P bus 24 via the output register 58. Output. In other words, the calculation output of the multiplier 14 is input to the adder/subtractor 15 as 20-bit data consisting of the lower 4 bits of the exponent part and the higher 16 bits of the mantissa part, as shown in FIG. 5(B). . Note that the outputs of registers 52 and 54 are sent to the X bus 25, and also to the register 51.
.. The output of 53 is sent to Y bus-15-26, each containing 16 bits of data and 2.0 bits of data.
.. 24 to 27, data D, P, and X. Y and A are input. Among these, data P. Y and D are input to a selection circuit 60 and a control signal S is input. One piece of data specified by is selected. Further, the data A and X are input to the selection circuit 61, and one data designated by the control signal S2 is selected. Here, input data D
, X, and Y are each 16-bit data shown in FIG. 5(A). As will be described later, when these 16-bit data are designated, the selection circuits 60 and 61 are configured to convert these data into 20-bit data as shown in FIG. 5(B) and output it. . This bit conversion differs depending on whether the input data D, X, Y are fixed point data or floating point data, and the conversion operation is specified by the control signal S3. This allows the floating-point type adder/subtractor to process input data in fixed-point representation. Note that -16=control signal S1. S2. S3...Sn are output from the control circuit 4 in response to command words in the program. Let us assume that the output data from the selection circuit 60 is β (exponent part β, mantissa part βM), and the output data from the selection circuit 61 is α (indication part α, mantissa part αM). Exponent data α. is connected to the comparison circuit 63 via the selection circuit 62
and is compared in size with the exponent data β. Also, these exponent data α. , β and are also input to a subtraction circuit 64 and a selection circuit 65, respectively. Mantissa data α7
is input to the selection circuit 67.68 via the negation circuit 66, and the mantissa data β7 is directly input to the selection circuit 67.68. In this embodiment, the negation circuit 66 outputs data α and β.
This is provided in order to realize subtraction with ALU 75 having an adder configuration, which will be described later.In the case of an addition operation, the data αW passes through the negation circuit. The selection circuits 65, 67, and 68 each select one of the two inputs according to the output signal of the comparison circuit 63. The output of the selection circuit 65 is latched by a latch circuit 71, the output of the selection circuit 67 is latched by a latch circuit 72 via a shift circuit 69, and the output of the selection circuit 68 is latched by a latch circuit 73 using a timing signal C. The subtraction circuit 64 is also controlled by the output of the comparison circuit 63, and inputs α9. β. It operates by subtracting the smaller one from the larger one. The shift circuit 69 shifts the input data to the right by the number of bits corresponding to the output of the subtraction circuit 64 obtained via the selection circuit 70. This shift circuit 69
The operation is also controlled by another data E input to the selection circuit 70, and the number of shift bits is selected by the control signal S7. The outputs 6A+8B of the latch circuits 72 and 73 are shown in FIG.
), the addition result UM is input to a fixed-point arithmetic type adder (ALU) 75 operated by the control signal S8.
is applied to the leftward shift circuit 76. On the other hand, the output γ of the latch circuit 71 is input to one input terminal of a constant addition circuit 77 and a subtraction circuit 78. 79 is a zero detection circuit that judges the output UM of the adder 75, and when the output UM of the adder given in complement representation is a positive number, the zero detection circuit 79 judges the output UM of the adder 75. Count the number of consecutive pieces. If U, , I are negative numbers, count the number of consecutive <"i" bits following the above side bits. Output 01 of the zero detection circuit 79 is output by an output correction circuit 80 provided for data normalization and overflow prevention.
is applied to the shift circuit 76 via the shift circuit 76 to determine the number of bits to shift the data by the shift circuit. In addition, the output θ□ of the zero detection circuit 79 is also input to the other input terminal of the subtraction circuit 78, and the output UE of this subtraction circuit is sent to the exponent part of the accumulator 16 via the output correction circuit 80. Input to 16X. The mantissa part 16M of the accumulator 16 receives the output data L' from the shift circuit 76 corrected by the output correction circuit 80. The output correction circuit 80 outputs a zero detection circuit 79 according to the overflow detection signal ○VF outputted from the adder 75 and the underflow detection signal UNF outputted from the subtraction circuit 78.
A selection circuit 81 selects either the output θ1 of the constant adder circuit -19=77 output 0 A selection circuit 82 supplies one of the above to the shift circuit 76 as a shift bit number instruction signal O, and an overflow signal OvF.
is "1", 1 is added to the subtraction circuit output UE, and when this addition result LE also overflows, the signal EOV
an increment circuit 83 that outputs F; an exponent correction circuit 85 inserted between the increment circuit 83 and the exponent part 16x of the accumulator 16; a shift circuit 76 and the mantissa part 16M of the accumulator 16; A control circuit 8 that controls the operations of the mantissa correction circuit 87 inserted between the two correction circuits 85 and 87 and the two correction circuits 85 and 87 according to the signals UNF and EOVF.
It consists of 9. The adder/subtractor 15 having the above configuration operates as follows. The respective outputs α and β of the two input selection circuits 61 and 60 shown in FIG. 6(A) are 120− data in floating point representation, and their values are expressed by the following equation. Now α. 〉β. Two data α in the relationship. Assuming that an addition operation of β is performed, the addition result 2 is given by: The comparison circuit 63 compares the magnitude of α and β9, and selects the selection circuit 6.
5 selects the larger exponent part data α□, and the selection circuit 67 selects the smaller exponent part β. The selection circuit 68 selects the larger exponent α6 and the corresponding mantissa data α7, and the subtraction circuit 64 selects the larger exponent α9 to the smaller exponent β. Give a control signal to pull the yaw. During execution of the addition operation, the selection circuit 70 selects the output (α9−β) from the subtraction circuit 64, and the shift circuit 69 selects the output β from the selection circuit 67.
9 to the right (in the direction of the lower bits) by (α or -β9) bits. As a result, the latch circuit 7
1,72.73 each -(α.-β2) The output is γ=αE + eIL ”β7・2eB-α7
Then, the output U of the adder 75 that performed the operation of e188
M represents the mantissa part of equation (1). Therefore, the calculated value 2 at this stage is expressed by the following equation. The zero detection circuit 79 and the leftward shift 1 circuit 76 are for normalizing the adder output UM so that its absolute value becomes maximum. As shown in FIG. 7(A), the zero detection circuit 79
If the number 01 of consecutive "o"s (below the decimal point) following the sign bit of the data UM is detected by , and the shift circuit 76 shifts the data UM by O□ bits to the left (to the most significant bit side), the absolute value is the maximum mantissa data L
M is obtained. If UM is a negative number, it is only necessary to shift the number of consecutive +11 rr as shown in FIG. 7(B). In this case, for the exponent part data γ, the subtraction circuit 7
8 to calculate (γ-01), and use the output U as the normalized exponent value. If no overflow has occurred in the data UM, the output E of the increment circuit 83 will be equal to the normalized exponent value UE, and the normalization process is performed using the following formula: % The size of the exponent part γ is 4 bits. Then, the value that γ can represent using two's complement representation is limited to the range [+7>γ>−8]. Therefore, when normalizing the mantissa data, if you try to completely shift the data UM to the left by the value θ1 detected by the zero detection circuit, the value of (γ-01) on the exponent part will be -8. , which may cause an underflow in the subtraction circuit. At this time(
A signal (borrow signal) UNF indicating data underflow is generated from the subtraction circuit 78 that performs the calculation of γ-01). In the circuit of FIG. 6(B), when the signal UNF is generated, the selection circuit 8 selects the output θ2 of the constant addition circuit 77 in place of the input θ1, and the constant addition circuit 77 selects the data γ of the exponent part. The value obtained by adding the constant "8" to is data 0□
It should be output as . In this way, for example, when the value of γ is "-5", the value of θ2 is "3", so the number of shift bits of the mantissa data UM is limited to 3 bits, and the number of shift bits of the mantissa data UM after normalization is The value remains at the minimum value "-8". The operation of setting the exponent part to "-8" when the signal UNF occurs is performed by an exponent part correction circuit 85, which will be explained later with reference to FIG. 1J. The calculation result UM of the adder 75 is shown in FIG. 8(A). As shown in (B), if overflow occurs, =2
4- The true sign of the data appears at the carry output, and the most significant bit of the number appears at the sign bit position. Therefore, in this case, the operation of the selection circuit 81 and the zero detection circuit 79 is stopped by the overflow detection signal OVF,
The shift circuit 76 is caused to perform a 1-bit right shift 1~ operation, the increment circuit 83 is caused to perform an operation of U□(=γ)+1,
Data 2 may be manipulated as shown in the following equation. An example of the shift circuit 76 that performs the above operation is shown in FIG. This circuit operates on each bit 03 to θ of the shift bit number instruction data θ. It consists of an 8-bit shifter 761, a 4-bit shifter 762, a 2-bit shifter 763, and a 1-bit shifter 764, and the switches SW'a to SWo of each signal line of each thick are controlled by the corresponding control. Bits 03-θ. When is rr i rr, it is connected to the contact on the lower bit side. In addition, a 1-bit shifter 764
Each switch SWo receives an overflow detection signal OVF.
When is LL+, II, it is connected to the contact on the upper bit side, and the output line 1-18 of the sign bit is connected to the carry signal input terminal 765, realizing the above-described 1-bit right shift operation of the data. In the circuit of FIG. 6, when the overflow detection signal OVF of the adder 75 becomes 1111+, an overflow may also occur in the calculation result of (γ+1) by the increment circuit 83. In this case, the calculation result Z (=α
10β) means that an overflow occurred.

【7、この
まま積和演算を続行すれば、累算器16に得られる出力
データの絶対値は第10図(A)の如く変化し、全く無
意味な値となる。 制御回路89と補正回路85.87は、演算結果2に上
記オーバーフローが生じたとき、第10図(B)に示す
ように、出力データの絶対値を正あるいは負の最大値に
固定するよう動作する回路であり、その具体的な構成例
を第11図に示す。 第11図において、指数部補正回路85は、入力ビツト
Lo〜L3に対応した2人力ANDゲート850〜85
3と2人力ORゲート860〜863からなり、各ビッ
ト信号はこれらのゲートを介して累算器16x側に出力
される。指数部データのサインビットL3が入力される
ANDゲート853の他方の入力端子には、インクリメ
ント回路83から出力されるオーバーフロー検出信号E
OVFの反転信号が入力され、○Rゲー1−863の他
方の入力端子には引算回路78からのアンダーフロー検
出信号UNFが入力されている。 また、データビットLO−L2の入力されるANDゲー
1−850〜852のそizぞれの他方の入力端子には
信号UNFの反転信号が入力され、ORゲー1〜860
〜862の他方の入力端子には信号EOVFが入力され
ている。信号EOVFとUNFとは同時に111 gg
にはなり得ないため、指数部補正回路85の出力は、信
号EOVFが” I ”のとき[0111〕=+7とな
って指数部を最大値にする。また、信号UNFが111
 Hのときは[1000]=−8となり、前述の0=0
2のと27− きの指数値を満足する。 一方、仮数部補正回路87は、サインビットL11]を
そのまま出力し、データビットし4〜Li。 をそれぞれ2人力ORゲート871〜87N、2人力A
NDゲート881〜88Nを介して出力するようになっ
ている。各ORゲートの他方の入力には制御回路89の
ANDゲート891の出力が与えられ、各ANDゲート
の他方の入力端子には制御回路89のNANDゲート8
92の出力が与えられている。信号EOVFが″1″の
とき、仮数部データが正の値、すなわちサインビットL
 1.9が′0″ならばANDゲート891とNAND
ゲート892の出力が共に1″となり補正回路87の出
力は正の最大値(O] 11・・・弓1〕となる。また
、サインビットLiOがtz 1 srならば、NAN
Dゲート892の出力がII OIIとなるため、補正
回路87の出力は負の最大値(1000・・・・00〕
となる。信号EOVFが’o”のとき、これらの補正回
路85.86は入力データL E +L Mをそのまま
データF、)、T−)ヤとして出力する。 28− これらの出力データL′ゆ、L′やは累算器16.スイ
ッチ回路17を介してAバス27に出力され。 加減算器15の選択回路61に帰還される。 以上の動作説明から、本発明の構成の一部をなすディジ
タル信号処理プロセッサでは、乗算器14と加減算器1
5がそわぞれ浮動小数点演算できることが判る。ここで
、Xバス21またはYバス22から乗算器14へのデー
タ入力および乗算器14またはAバス27から加減算器
(ALU)15へのデータ入力は、入力データのビット
数と受取り側口路のデータビット数が一致しているため
、第12図(A)、(B)に示す如く、データ間でのビ
ット位置の変更はない。しかしながら、Xバス25.Y
バス26.Dバス20からの16ビツトデータを加減算
器15に取り込む場合には、仮数部データのビット数が
合わないため、加減算器の入力選択回路60.61にお
いて第12図(C)に示す如く、仮数部入力データMの
下位に4ビツトに0″を追加する操作を必要とする。ま
た。 累算器(ACC)16に得られた20ビツトの加減算器
出力を16ビツトのDバス20に出力する際には、スイ
ッチ回路17において第12図(D)に示す如く、仮数
部Mの下位4ビツトのデータを捨て、指数部4ビツト、
仮数部12ビツトのデータに変換する操作を必要とする
。 本発明の構成の一部をなすディジタル信号処理プロセッ
サでは、モデムの実現を容易にするため、ダイナミック
レンジを大きくする目的で」二連したデータの変換動作
を行う入力選択回路60.61および出力スイッチ回路
17を更に工夫し、プログラムの指定によりプロセッサ
が固定小数点演算も実行できるようにしている。 固定小数点データX、Yの乗算は乗算器14内の仮数部
データ乗算回路57において行われる。 この場合は第】2図(A)に示す如く、16ビツトの入
力データX、■のうち仮数部入力レジスタ53.54に
入る上位12ビツトが有効データとして扱われる。一方
、固定小数点データの加減算の際には、プログラムでの
指数により加減算器15内のシフ1〜回路69.76の
シフト動作を停止させ、この状態で得られた仮数部の演
算結果を利用する。シフト回路69の動作停止は、固定
小数点データの演算命令が第6図(A)のデータ線Eに
数値「0」のデータを与え、選択回路70が上記データ
線Eからの入力を選択するように制御信号S7を発生す
るようにすればよい。シフ1へ回路76の動作停止は、
第6図(B)のデータ線Fに数値「0」のデータを与え
、選択回路82が」1記データ線Fからの入力を選択す
るよう制御信号Sf3を発生するようにすればよい。 上記固定小数点データの加減算において、乗算器14ま
たはAバスから加減算器15へのデータ入力は、第13
図(B)に示す如く、仮数部の16ビツトのデータを浮
動小数点演算の場合と同様に送り込めばよい。Xバス、
■バス、Dバスからのデータ入力は、第13図(C)の
如く、全ビットを仮数部に入れ、累算器(ACC)に得
られた仮数部データは、第13図(D)に示す如く、全
ビットをDバス20に出力される。 第14図は上述したビット変換機能を備えた加−31= 減算器の入力選択回路60の具体例を示す。この回路図
で、P o+P1□、 Y O−’Y15w D o−
DtaはそれぞれPバス24.Yバス26.Dバス20
からの入力データの各ビットを示し、これらのうちデー
タPの指数部Po−P3はスイッチ601に入力され、
スイッチ601の4つの出力端子はスイッチ603の端
子Co−Caに接続される。 データY、Dの各ビットとデータPの仮数部のビットP
4〜Pillはスイッチ602に入力され、スイッチ6
02の上位12ビツトの出力端子はデータρの上位ビッ
トの出力線β8〜β□8に接続され、下位4ビツトの出
力端子はスイッチ603の端子C4〜C7およびスイッ
チ601の他方の入力端子に接続されている。スイッチ
603はデータβの下位ビットの出力線β0〜β8に接
続される8個の出力端子と、状態rr Onを与える4
個の端子604を備えている。605はプログラムの命
令語に応じて制御回路4から与えられる制御信号S□+
32に基づいて、スイッチ601,602゜603の駆
動信号60A、60B、60Gを発生32− する論理回路である。 制御信号S1で選択すべきデータが指示されると、信号
60A、60Bによってスイッチ601゜602が動作
し、データP、Y、Dのいずれかが選択される。このと
き、制御信号S2が浮動小数点演算を指示していれば、
スイッチ603は、出力線β0〜β3を端子co−C3
に、出力線β4〜β7を端子C4〜C7(入力データP
が選択されている場合)または端子604 (入力デー
タYまたはDが選択されている場合)に接続するよう動
作する。もし制御信号S2が固定小数点演算を指示して
いれば、入力データに関係なく出力線β0〜β3が端子
604に、β4〜β7が端子C4〜C7に接続される。 第15図はもう1つの入力選択回路61の具体的な回路
構成を示す。この回路は、入力がAバスとXバスの2種
類となっている点を除いて第14図と同様であり、説明
は省略する。 第16図は、累算器16に接続されるスイッチ回路17
の具体的な回路構成を示す。この回路において、累算器
からの20ビツトの出力GO〜G1.]はスイッチ17
1の入力端子入力される。スイッチ171ば、データバ
ス20の各信号線DO〜D15と接続された16個の出
力端子を有し、入力端子と出力端子との接続は論理回路
172の出力信号17A、17Bで制御される。プログ
ラムの命令による制御信号S2が浮動小数点演算を示す
場合、スイッチ171は信号17Bに制御されて出力側
の下位4ビツトの信号線DO〜D3を入力信号線G □
 −03と接続し、固定小数点演算の場合には■〕。〜
D3をG4〜G7に接続する。信号17Aはデータバス
20への上位ビットデータの出力を制御する。 本発明のデータモデムの一部をなす信号処理プロセッサ
によれば、上述した固定小数点データあるいは浮動小数
点データの演算を行えるだけでなく、浮動小数点形式で
得られた演算結果をプログラムの命令により固定小数点
形式のデータに変換したり、その逆に固定小数点形式で
与えられたデータを浮動小数点形式のデータに変換して
演算を行うこともできる。この機能は、信号処理プロセ
ッサがデータバス20と入出力インターフェース30〜
33を介して外部装置とデータをやりとりする際に極め
て好都合である。何如なら、信号処理プロセッサを用い
てモデムを構成する場合、外部装置は固定小数点表示形
式でデータを扱っており、もし」1記信号処理プロセッ
サの浮動小数点演算結果がそのまま出力されるとすれば
、プロセッサの外部にデータ形式を変換するための特殊
な装置を必要とすることになるからである。 浮動小数点表示から固定小数点表示への変換(以下、F
LFXと言う)は次のようにして行われる。 先ず、累算器16に得られる浮動小数点表示のデータを αE A=α7・2 としたとき、指数部がα。〈β、の関係を満足し、仮数
部がβヮ=0の値をもつデータラ1=βワ・35− βE 2 をデータメモリ5あるいは6の特定のアドレスに格
納しておく。このアドレスはFLFXの命令語のアドレ
ス部と対応させておく。また、この命令語を実行したと
き、選択回路8が上記メモリから読出されたデータyを
Yバス22に出力し、選択回路60が上記Yバスからの
入力を選択し、選択回路61がAバス27からの入力を
選択し、選択回路82が入力データF (=rO」)を
選択し、出力スイッチ17が入力信号G4〜01Bをデ
ータバス20に接続動作するよう、各種制御信号を発生
させる。 このようにしておくと、FLFXの命令を実行した時2
つの浮動小数点データAとylとの間で演算が行われ、
累算器16には、 z=A+y。 −(β2−αE) βE =〔0+α7・2 〕・2 ・・(7) βE の演算結果が得られる。このデータは2 を指数36一 部の基準値として正規化してあり、データバス20に出
力される仮数部のデータ =(βや一αE) αヤ・2 を固定小数点データとして取り扱うことがで
きる。 通常、内部演算結果Aに対してβEの最適値を正確に知
ることはできないので、モデム設計者はβ6の値を若干
大きめに選んでおく方がよい。しかし、β。の値をあま
り大きくすると、固定小数データの精度が低くなること
に注意する必要がある。上記F L F Xの実行の際
、予めメモリに格納された変換用データy1の指数部β
ゆよりも演算結果2の指数部α。の方が大きくなった場
合は、式(7)の仮数部オーバーフローを生ずる。この
場合、前述した出力補正回路80の動作によって、固定
小数点データの絶対値を正あるいは負の最大値に固定さ
せることができる。 一方、たとえばA/Dから与えられた固定小数点表示の
データを内部で浮動小数点表示のデータに変換する動作
は次のようにして行える。先ず。 入力レジスタ31に入力された固定小数点データを累算
器16に転送する命令を実行する。この命令では、デー
タバス20を介して選択回路60に与えられた16ビツ
トの固定小数点表示データDを、」1記選択回路60の
動作により仮数部βヮにビット位置変換し、選択回路6
7、シフト回路69、ラッチ回路72.加算器75.シ
フト回路76、補正回路87を介して累算器16の仮数
部16Mに入力させる。この場合、シフ1〜回路69゜
加算器75はそれぞれ入力データを素通りさせるよう制
御される。 次に固定小数点表示から浮動小数点表示に変換(以下、
FXFLと言う)する命令を実行する。 この命令実行時には、選択回路61はAバス27から与
えられる累算器出力、すなわち上記した固定小数点デー
タAを出力α7.α。として選択する。また、選択回路
60は、F X F L命令のアドレス部で指定されて
メモリ5あるいは6からYバス26に読出される変換用
データy2を出力β8゜βゆとして選択する。この変換
用データy2は、例えば仮数部β7が零であり指数部β
9が値〔+7〜−8〕の範囲から選定されて成る基準値
を持っている。他の命令実行時と異なり、FXFL命令
実行時には選択回路62が入力β。 を選択するよう制御信号S4を発生させ、比較回路63
の2つの入力を共にβ。とする。この場合、仮数部の選
択回路67は入力α7を、選択回路68は入力βヮをそ
れぞれ選択するようにし、指数部の選択回路65には入
力β。を選択させる。 また、制御信号S7により選択回路70に入力データE
= rOJを選択させ、右方向のシフト回路69のデー
タシフ1〜動作を抑える。 上記制御動作により、ラッチ回路71,72゜73の出
力はγ=βE l e A= αMl e B = O
となる。データeAと8.3は加算器75に入力されそ
の加算結果UM(−αM)は零検出回路79と左方向の
シフ1−回路76の動作のもとに小数点位置が01ビッ
ト移動し、結果として θ1 (β。−〇、) z=〔α7・2 〕・2 ・・・(8)39− で表されるデータか累算器16に得られる。この式は、
固定小数点表示のデータA=αヮが指数β。を基準に正
規化され、浮動小数点表示されたことを意味している。 従って、命令FXFLで累算器16に得られた上記デー
タを用いれば、以後の演算を浮動小数点形式で行うこと
ができ、ダイナミックレンジの広いフィルタ演算ができ
る。 尚、入力レジスタ31のデータを一旦累算器16にセラ
1〜した後、FXFL命令を実行したが、固定小数点の
入力データと変換用データy2をXバス25とDバス2
0を利用して加減算器15に入力することにより、1つ
の命令で浮動小数点表示へのデータ変換を行えるよう設
計することもできる。 本発明のデータモデムの一部をなすディジタル信号処理
プロセッサは上述したように、固定小数点、浮動小数点
の画形式のデータを取扱え、しかも浮動小数点表示デー
タの正規化の際に指数部にアンダーフローを生じた時、
指数値を最小値に固定した正規化操作が行えるため、内
部演算データー40= の数値が大きい場合には浮動小数点演算形式、小さい場
合は固定小数点演算形式に自動的に演算方式を切り換え
ることができ、極めて広いダイナミックレンジを得るこ
とができ、十分データ用モデムに適用することができる
。 すなわち、加減算器の内部データが仮数部16ビツ1−
1指数部4ビットからなる場合、2の補数表示で指数部
γは〔+7〜−8〕の範囲の数値を取り扱える。全ての
演算を浮動小数点形式で処理すると、ダイナミックレン
ジは第17図に斜線をによれば、演算データの仮数部に
対する正規化ビット数Oが(γ−(+)<−8の範囲に
あるとき、正規化後の指数L2を−8に固定することに
よって、固定小数点演算に切換れるようになっている。 このため、第17図に示す如く、ダイナミックレンジは
全体で31ビットとなり、固定、浮動の一方のみを用い
る場合に比較して取り扱える数値の範囲が著しく広がる
。 第18図は並列動作の1例を示すタイムチャー1−であ
り、命令サイクル201で先行フェッチされた命令Aに
より、次のサイクル202でデータメモリからデータを
読出し、乗算器により演算を行う。命令サイクル203
では乗算結果と累算器のデータ(Aバス出力)との加減
算が実行され、演算結果はサイクル204で累算器に出
力される。 これら4つのステップの動作は1ステツプずつずれて各
命令サイクルで繰り返され、所定回数mの積和演算が完
了したとき、命令Fにより演算結果Tがデータバス20
に出力され、データメモリ5あるいは外部回路に送られ
る。 上記パイプライン制御によるプロセッサの並列動作は乗
算器14と加減算器15とを直列的に接続したこと、乗
算と加減算の各動作所要時間がバランスする位置にデー
タを一時的に保持するレジスタ(第6図ではラッチ回路
71〜72がこれに相当する)を配置したことにより可
能となっている。 以上説明したような浮動小数点信号処理プロセッサを用
いてモデムを構成すれば、先に示したように、フィルタ
の縦続接続が容易に構成できるばかりでなく、自動等止
器の実現が容易にできる。 音声電話回線で歪んだ波形から自動的に歪量を推定して
元の歪のない波形にする機能をもつ自動等化器は、第1
9図に示す如き1ヘランスバーサルフイルタをその主要
部に含んでいる。 第19図において、入力端子1400に入力された入力
信号X。は各1標本化遅延回路120〇−+、1200
−2.・・・・・1200−(N−1)を通り、それぞ
れの各遅延回路の出力は各係数C1,C2・・・・、C
Nとの乗算回路1100−1゜110CI−2,] 1
00−3.・・・・、1100−Nによって乗算され、
そのおのおのの出力は加算器1300で加算されて次式
の如き出力Y。が出力端子1500に得られる。 第1図に示したように、各係数C,,C2,・・・43
− CN L:):音声回線変動に応じてその値が変化する
。 上式はN回の積和演算を繰り返し実行する場合であり、
Nが大きく演算のダイナミックレンジが狭いとき、しば
しばオーバーフローを生じる。 このような演算においても浮動小数点演算形式信号処理
プロセッサを用いてモデ11を構成すれば、自動等化器
でオーバフローが生じにくくなり、高性能な自動等化特
性が得られる。 以下、説明した浮動小数点信号処理プロセッサによる本
発明によるデータモデム構成の一実施例を第20図に示
す。 第20図において送信部(A)は第1図送信部に対応す
る機能を上記の浮動小数点信号処理プロセッサを用いて
実現した例であり、受信部(B)は第1図受信部に対応
する機能を実現した例である。 第20図(A)で入力端子1000に入力された′″l
 n 、rrQnの2値信号系列は直列並列変換回路1
510で8ビツトの並列データに変換される。この並列
データはデータバスl600を介し44− て、1506で示されるたとえば日立製作所のマイクロ
コンピュータMC36800のデータ入出力端子に接続
される。さらにマイクロコンピュータ1506はデータ
バス1600を介して、マイクロコンピュータのデータ
用メモリおよびプログラムメモリ1505.および先に
説明した浮動小数点信号処理プロセッサ1502並びに
D/A変換器1503の標本化パルスを作るために固定
周波数発振器および可変分周回路とからなるプログラマ
ブルタイマー1507に接続されている。D/Al3O
3は他方、信号処理プロセッサ1502の直列出力端子
からの直列信号をアナログ信号として変換し、その出力
信号はアナログ低域フィルタ1009を通し、モデムの
出力端子1010に出力する。 先に説明したように、信号処理プロセッサ1502では
第1図(A)の低域フィルタ、変調回路からなるブロッ
ク1012の機能を処理し、ブロック1011の機能は
マイクロコンピュータ1506で処理される。 同様にして、第20図(B)のモデム受信部のハード構
成で入力端子1013に入力されたアナログ信号はアナ
ログ帯域フィルタ1014を通過し、AGC回路10J
5に入力される。AGC回路1015の出力はA/D 
1016によりディジタル信号に変換される。浮動小数
点信号処理プロセッサ1508はA/D 1016から
の直列信号を直列信号入力端子に受け内部に取り込み処
理する。マイクロコンピュータ1513はモデム受信部
のコン1−ロール並びに先に説明したように、第1図(
B)のブロック1028,1.030の機能を実現して
いる。また、マイクロコンピュータ1513は並列デー
タバス1601を介して、並列直列変換回路1.507
 、マイクロコンピュータのデータ用メモリおよびプロ
グラムメモリ1512、固定周波数発振器および可変分
周回路とからなるプログラマブルタイマー1515に接
続され、さらにはAGC回路の制御信号をデータバスを
介して与えるためのラッチ回路1514とに接続されて
いる。プログラマブルタイマーはA/D1016の標本
化パルスを再生している。 先に示したように、信号処理プロセッサ1508では第
1図(B)に示した機能ブロック1029を実現してい
る。 以上、説明したごとく本発明によるデータモデムは浮動
小数点演算信号処理プロセッサでフィルタ、自動等止器
等の信号演算処理に適した機能を実現し、その内部演算
のダイナミックレンジの広さを利用して、その高性能の
自動等化器を得、さらには設剖の容易なフィルタが得ら
れ、信号処理演算に適しない機能をマイクロコンピュー
タに受け持たせることにより、モデム機能を信号処理プ
ロセッサとマイクロコンピュータで分担させて最適なモ
デムを実現することができる。
[7. If the product-sum operation is continued as it is, the absolute value of the output data obtained by the accumulator 16 will change as shown in FIG. 10(A), and will become a completely meaningless value. The control circuit 89 and the correction circuits 85 and 87 operate to fix the absolute value of the output data to the maximum positive or negative value when the above-mentioned overflow occurs in the calculation result 2, as shown in FIG. 10(B). FIG. 11 shows a specific example of its configuration. In FIG. 11, the exponent part correction circuit 85 includes two-man power AND gates 850 to 85 corresponding to input bits Lo to L3.
3 and two manual OR gates 860 to 863, and each bit signal is outputted to the accumulator 16x side through these gates. The other input terminal of the AND gate 853 to which the sign bit L3 of the exponent part data is input is an overflow detection signal E output from the increment circuit 83.
The inverted signal of OVF is input, and the underflow detection signal UNF from the subtraction circuit 78 is input to the other input terminal of the ○R game 1-863. Further, an inverted signal of the signal UNF is input to the other input terminal of each of AND gates 1-850 to 852 to which data bit LO-L2 is input, and OR gates 1-860
The signal EOVF is input to the other input terminal of 862. Signals EOVF and UNF are 111 gg at the same time.
Therefore, when the signal EOVF is "I", the output of the exponent part correction circuit 85 becomes [0111]=+7, making the exponent part the maximum value. Also, the signal UNF is 111
When H, [1000] = -8, and the above 0 = 0
Satisfies the exponent values of 2 and 27-ki. On the other hand, the mantissa correction circuit 87 outputs the sign bit L11 as it is and converts it into data bits 4 to Li. 2-man OR gates 871 to 87N and 2-man A
It is designed to be outputted via ND gates 881 to 88N. The output of the AND gate 891 of the control circuit 89 is given to the other input of each OR gate, and the output of the NAND gate 891 of the control circuit 89 is given to the other input terminal of each AND gate.
92 outputs are given. When the signal EOVF is "1", the mantissa data is a positive value, that is, the sign bit L
If 1.9 is '0'', AND gate 891 and NAND
The outputs of the gates 892 are both 1", and the output of the correction circuit 87 is the maximum positive value (O] 11... bow 1). Also, if the sign bit LiO is tz 1 sr, then NAN
Since the output of the D gate 892 is II OII, the output of the correction circuit 87 is the negative maximum value (1000...00)
becomes. When the signal EOVF is 'o', these correction circuits 85 and 86 output the input data L E +L M as they are as data F,), T-). 28- These output data L'Y, L' The signal is outputted to the A bus 27 via the accumulator 16 and the switch circuit 17, and is fed back to the selection circuit 61 of the adder/subtractor 15. From the above operation description, it can be seen that the digital signal processing that forms part of the configuration of the present invention In the processor, a multiplier 14 and an adder/subtracter 1
It can be seen that 5 can perform floating point operations. Here, data input from the X bus 21 or Y bus 22 to the multiplier 14 and data input from the multiplier 14 or A bus 27 to the adder/subtractor (ALU) 15 are based on the number of bits of input data and the receiving side port. Since the data bit numbers are the same, there is no change in bit position between the data, as shown in FIGS. 12(A) and 12(B). However, X bus 25. Y
Bus 26. When the 16-bit data from the D bus 20 is taken into the adder/subtractor 15, the number of bits of the mantissa data does not match, so the input selection circuits 60 and 61 of the adder/subtractor input the mantissa data as shown in FIG. 12(C). It is necessary to add 0'' to the lower 4 bits of the input data M. Also, the 20-bit adder/subtracter output obtained by the accumulator (ACC) 16 is output to the 16-bit D bus 20. In this case, as shown in FIG. 12(D), the switch circuit 17 discards the lower 4 bits of the mantissa part M, and replaces the 4 bits of the exponent part,
This requires an operation to convert the mantissa to 12-bit data. The digital signal processor that forms part of the configuration of the present invention includes an input selection circuit 60, 61 that performs a double data conversion operation and an output switch for the purpose of increasing the dynamic range in order to facilitate implementation of a modem. The circuit 17 has been further improved so that the processor can also perform fixed-point operations according to program specifications. Multiplication of fixed point data X and Y is performed in a mantissa data multiplication circuit 57 within the multiplier 14. In this case, as shown in FIG. 2(A), the upper 12 bits of the 16-bit input data X, 2 that enter the mantissa input registers 53 and 54 are treated as valid data. On the other hand, when adding or subtracting fixed-point data, the shift operation of shift 1 to circuit 69.76 in the adder/subtractor 15 is stopped according to the exponent in the program, and the result of operation of the mantissa obtained in this state is used. . The operation of the shift circuit 69 is stopped when an operation instruction for fixed-point data gives the numerical value "0" to the data line E in FIG. 6(A), and the selection circuit 70 selects the input from the data line E. The control signal S7 may be generated at the same time. To stop the operation of the circuit 76 to shift 1,
The numerical value "0" data may be applied to the data line F in FIG. 6(B), and the control signal Sf3 may be generated so that the selection circuit 82 selects the input from the data line F shown in FIG. 6(B). In addition and subtraction of the above fixed point data, the data input from the multiplier 14 or the A bus to the adder/subtractor 15 is the 13th
As shown in Figure (B), the 16-bit data of the mantissa can be sent in the same way as in the case of floating point arithmetic. X bus,
■Data input from the bus and D bus puts all bits into the mantissa as shown in Figure 13 (C), and the mantissa data obtained by the accumulator (ACC) is shown in Figure 13 (D). As shown, all bits are output to the D bus 20. FIG. 14 shows a specific example of the input selection circuit 60 of the adder-31=subtracter equipped with the above-mentioned bit conversion function. In this circuit diagram, P o+P1□, Y O-'Y15w D o-
Dta is P bus 24. Y bus 26. D bus 20
The exponent part Po-P3 of the data P is input to the switch 601,
The four output terminals of switch 601 are connected to terminal Co-Ca of switch 603. Each bit of data Y, D and bit P of the mantissa part of data P
4 to Pill are input to switch 602, and switch 6
The output terminals of the upper 12 bits of 02 are connected to the output lines β8 to β□8 of the upper bits of the data ρ, and the output terminals of the lower 4 bits are connected to the terminals C4 to C7 of the switch 603 and the other input terminal of the switch 601. has been done. The switch 603 has eight output terminals connected to the output lines β0 to β8 of the lower bits of the data β, and four output terminals that provide the state rr On.
terminals 604. 605 is a control signal S□+ given from the control circuit 4 according to the command word of the program.
This is a logic circuit that generates drive signals 60A, 60B, and 60G for the switches 601, 602, and 603 based on the logic circuit 32-. When data to be selected is specified by the control signal S1, the switches 601 and 602 are operated by the signals 60A and 60B, and one of the data P, Y, and D is selected. At this time, if the control signal S2 instructs floating point arithmetic,
The switch 603 connects the output lines β0 to β3 to terminals co-C3.
, output lines β4 to β7 are connected to terminals C4 to C7 (input data P
is selected) or to terminal 604 (when input data Y or D is selected). If the control signal S2 instructs fixed-point arithmetic, the output lines β0 to β3 are connected to the terminals 604 and the output lines β4 to β7 are connected to the terminals C4 to C7, regardless of the input data. FIG. 15 shows a specific circuit configuration of another input selection circuit 61. This circuit is the same as that shown in FIG. 14 except that there are two types of inputs, the A bus and the X bus, and a description thereof will be omitted. FIG. 16 shows a switch circuit 17 connected to an accumulator 16.
The specific circuit configuration is shown below. In this circuit, the 20-bit outputs from the accumulator GO to G1 . ] is switch 17
1 input terminal is input. The switch 171 has 16 output terminals connected to each of the signal lines DO to D15 of the data bus 20, and the connections between the input terminals and the output terminals are controlled by output signals 17A and 17B of the logic circuit 172. When the control signal S2 according to the program command indicates floating point arithmetic, the switch 171 is controlled by the signal 17B to connect the lower 4 bits of the output side signal lines DO to D3 to the input signal line G □
-03 for fixed-point calculations]. ~
Connect D3 to G4-G7. Signal 17A controls output of upper bit data to data bus 20. According to the signal processing processor that forms part of the data modem of the present invention, it is possible not only to perform operations on fixed-point data or floating-point data as described above, but also to convert the operation results obtained in floating-point format into fixed-point data according to program instructions. It is also possible to perform calculations by converting fixed-point format data into floating-point format data. This function allows the signal processing processor to connect the data bus 20 and the input/output interfaces 30 to
This is extremely convenient when exchanging data with an external device via 33. When configuring a modem using a signal processing processor, the external device handles data in a fixed-point display format, and if the floating-point calculation result of the signal processing processor described in item 1 is output as is, This is because a special device for converting the data format is required outside the processor. Conversion from floating point display to fixed point display (hereinafter referred to as F
(referred to as LFX) is performed as follows. First, when the floating point representation data obtained by the accumulator 16 is αE A=α7·2, the exponent part is α. A data line 1=βW·35−βE 2 which satisfies the relationship 〈β and whose mantissa has a value βヮ=0 is stored at a specific address in the data memory 5 or 6. This address is made to correspond to the address part of the instruction word of FLFX. When this command is executed, the selection circuit 8 outputs the data y read from the memory to the Y bus 22, the selection circuit 60 selects the input from the Y bus, and the selection circuit 61 outputs the data y read from the memory to the A bus. 27, the selection circuit 82 selects the input data F (=rO''), and various control signals are generated so that the output switch 17 operates to connect the input signals G4 to G01B to the data bus 20. If you do this, when you execute the FLFX command, 2
An operation is performed between two floating point data A and yl,
In the accumulator 16, z=A+y. −(β2−αE) βE = [0+α7·2]·2 (7) The calculation result of βE is obtained. This data has been normalized using 2 as a reference value for a part of the exponent 36, and the data of the mantissa output to the data bus 20 = (β or -αE) αya/2 can be handled as fixed-point data. Normally, it is not possible to accurately know the optimal value of βE for the internal calculation result A, so it is better for the modem designer to select a slightly larger value for β6. However, β. It must be noted that if the value of is set too large, the precision of fixed-decimal data will decrease. When executing the above F L F X, the exponent part β of the conversion data y1 stored in the memory in advance
The exponent part α of the operation result 2 than Yu. If it becomes larger, an overflow of the mantissa in equation (7) will occur. In this case, the operation of the output correction circuit 80 described above allows the absolute value of the fixed-point data to be fixed at the maximum positive or negative value. On the other hand, for example, the operation of internally converting fixed-point data given from an A/D into floating-point data can be performed as follows. First. An instruction to transfer the fixed-point data input to the input register 31 to the accumulator 16 is executed. In this instruction, the bit position of 16-bit fixed point display data D given to the selection circuit 60 via the data bus 20 is converted into the mantissa part βW by the operation of the selection circuit 60 in 1.
7, shift circuit 69, latch circuit 72. Adder 75. The signal is input to the mantissa part 16M of the accumulator 16 via the shift circuit 76 and the correction circuit 87. In this case, shift 1 to circuit 69 and adder 75 are each controlled to allow input data to pass through. Next, convert from fixed-point display to floating-point display (hereinafter,
FXFL). When this instruction is executed, the selection circuit 61 outputs the accumulator output given from the A bus 27, that is, the fixed-point data A described above, α7. α. Select as. Further, the selection circuit 60 selects the conversion data y2 specified by the address part of the F X F L instruction and read from the memory 5 or 6 to the Y bus 26 as the output β8°β. In this conversion data y2, for example, the mantissa part β7 is zero and the exponent part β
9 has a reference value selected from the range of values [+7 to -8]. Unlike when executing other instructions, the selection circuit 62 receives input β when executing the FXFL instruction. The comparison circuit 63 generates a control signal S4 to select
Both inputs are β. shall be. In this case, the mantissa selection circuit 67 selects the input α7, the selection circuit 68 selects the input βヮ, and the exponent selection circuit 65 selects the input β. let them choose. In addition, the input data E is input to the selection circuit 70 by the control signal S7.
= Select rOJ and suppress the data shift 1 to operation of the rightward shift circuit 69. Due to the above control operation, the output of the latch circuits 71, 72, 73 becomes γ=βE le A= αMle B = O
becomes. The data eA and 8.3 are input to the adder 75, and the addition result UM (-αM) is shifted by 01 bits in the decimal point position under the operation of the zero detection circuit 79 and the leftward shift 1-circuit 76. The accumulator 16 obtains data expressed as θ1 (β.-〇,) z=[α7.2].2 (8)39-. This formula is
Data A = αヮ in fixed decimal point representation is exponent β. This means that it has been normalized to the standard and displayed as a floating point number. Therefore, by using the data obtained by the accumulator 16 with the instruction FXFL, subsequent calculations can be performed in floating point format, and filter calculations with a wide dynamic range can be performed. Although the FXFL instruction was executed after the data in the input register 31 was once stored in the accumulator 16, the fixed-point input data and conversion data y2 were transferred to the X bus 25 and the D bus 2.
By inputting 0 to the adder/subtractor 15, it is also possible to design data conversion to floating point representation with one instruction. As mentioned above, the digital signal processor that forms part of the data modem of the present invention can handle fixed-point and floating-point image format data, and moreover, when normalizing floating-point display data, there is an underflow in the exponent part. When it occurs,
Since the normalization operation can be performed with the exponent value fixed to the minimum value, the calculation method can be automatically switched to floating-point calculation format when the internal calculation data 40= is large, and to fixed-point calculation format when it is small. , it is possible to obtain an extremely wide dynamic range, and it can be sufficiently applied to data modems. In other words, the internal data of the adder/subtractor has a mantissa part of 16 bits 1-
When one exponent part consists of 4 bits, the exponent part γ can handle numerical values in the range [+7 to -8] in two's complement representation. If all operations are processed in floating-point format, the dynamic range is as follows, according to the diagonal lines in Figure 17, when the normalized number of bits O for the mantissa of the operation data is in the range , by fixing the exponent L2 after normalization to -8, it is possible to switch to fixed-point arithmetic. Therefore, as shown in Figure 17, the dynamic range is 31 bits in total, and fixed and floating The range of numerical values that can be handled is significantly expanded compared to the case where only one of the two is used. In cycle 202, data is read from the data memory and arithmetic is performed by the multiplier.Instruction cycle 203
Then, addition and subtraction are performed between the multiplication result and the accumulator data (A bus output), and the operation result is output to the accumulator in cycle 204. The operations of these four steps are repeated in each instruction cycle with a one-step shift, and when the product-sum operation has been completed a predetermined number of times m, the operation result T is transferred to the data bus 2 by instruction F.
and sent to the data memory 5 or an external circuit. The parallel operation of the processor by pipeline control is achieved by connecting the multiplier 14 and the adder/subtracter 15 in series, and by the fact that the register (sixth This is possible by arranging latch circuits 71 and 72 (corresponding to this in the figure). If a modem is configured using the floating point signal processor as described above, it is not only possible to easily configure a cascade connection of filters, but also to easily realize an automatic isolator, as shown above. The first automatic equalizer has the function of automatically estimating the amount of distortion from the waveform distorted by the voice telephone line and returning it to the original undistorted waveform.
The main part includes a 1 Herans universal filter as shown in FIG. In FIG. 19, an input signal X is input to an input terminal 1400. are each 1 sampling delay circuit 120〇−+, 1200
-2. ...1200-(N-1), and the output of each delay circuit is each coefficient C1, C2..., C
Multiplication circuit with N 1100-1゜110CI-2, ] 1
00-3. ..., multiplied by 1100-N,
The respective outputs are added by an adder 1300 to produce an output Y as shown in the following equation. is obtained at the output terminal 1500. As shown in Fig. 1, each coefficient C,,C2,...43
- CN L:): Its value changes according to voice line fluctuations. The above formula is a case where the product-sum operation is repeatedly executed N times,
When N is large and the dynamic range of calculation is narrow, overflow often occurs. Even in such calculations, if the model 11 is configured using a floating-point calculation type signal processor, overflow is less likely to occur in the automatic equalizer, and high-performance automatic equalization characteristics can be obtained. FIG. 20 shows an embodiment of a data modem configuration according to the present invention using the floating point signal processor described below. In FIG. 20, the transmitting section (A) is an example in which the function corresponding to the transmitting section in FIG. 1 is realized using the above floating point signal processing processor, and the receiving section (B) corresponds to the receiving section in FIG. This is an example of realizing this function. '''l input to input terminal 1000 in Fig. 20(A)
The binary signal series of
510, it is converted into 8-bit parallel data. This parallel data is connected to a data input/output terminal 1506 of a microcomputer MC36800 manufactured by Hitachi, Ltd., for example, through a data bus 1600. Further, the microcomputer 1506 connects the microcomputer data memory and program memory 1505 . and a programmable timer 1507 consisting of a fixed frequency oscillator and a variable frequency divider circuit for producing sampling pulses for the floating point signal processor 1502 and D/A converter 1503 described above. D/Al3O
3, on the other hand, converts the serial signal from the serial output terminal of the signal processing processor 1502 into an analog signal, and the output signal is passed through an analog low-pass filter 1009 and outputted to the output terminal 1010 of the modem. As described above, the signal processing processor 1502 processes the function of block 1012 consisting of a low-pass filter and modulation circuit in FIG. 1(A), and the function of block 1011 is processed by the microcomputer 1506. Similarly, in the hardware configuration of the modem receiver shown in FIG. 20(B), the analog signal input to the input terminal 1013 passes through the analog bandpass filter 1014, and
5 is input. The output of the AGC circuit 1015 is A/D
1016, it is converted into a digital signal. Floating point signal processor 1508 receives the serial signal from A/D 1016 at its serial signal input terminal and internally processes it. The microcomputer 1513 controls the controller 1 of the modem receiving section and as described above, the controller 1513 shown in FIG.
The functions of blocks 1028 and 1.030 in B) are realized. In addition, the microcomputer 1513 connects the parallel to serial conversion circuit 1.507 via the parallel data bus 1601.
, a data memory and a program memory 1512 of the microcomputer, a programmable timer 1515 consisting of a fixed frequency oscillator and a variable frequency dividing circuit, and a latch circuit 1514 for providing a control signal for the AGC circuit via a data bus. It is connected to the. A programmable timer regenerates the A/D 1016 sampling pulses. As shown above, the signal processing processor 1508 implements the functional block 1029 shown in FIG. 1(B). As explained above, the data modem according to the present invention realizes functions suitable for signal calculation processing such as filters and automatic isolators using a floating-point signal processing processor, and utilizes the wide dynamic range of its internal calculations. , by obtaining a high-performance automatic equalizer, and furthermore by obtaining a filter that is easy to design, and by assigning functions that are not suitable for signal processing calculations to a microcomputer, the modem function can be combined with a signal processing processor and a microcomputer. It is possible to realize an optimal modem by dividing the functions between the two.

【図面の簡単な説明】[Brief explanation of drawings]

第】図はモデムの機能を示すモデム構成図、第1図(A
)はモデム送信部、第2図(B)はモデム受信部を示す
。第2図はディジタルフィルタの縦続接続構成と各フィ
ルタの入出力信号レベルを示すための図、第3図は本発
明のモデムに用いる47− 浮動小数点信号処理プロセッサの全体構成の1例を示す
ブロック図、第4図は乗算器14の詳細な構成を示す図
、第5図(A)、(B)はそれぞれ入力データと加減算
器15の内部演算データのビット形式を説明するための
図、第6図(A)、(B)は加減算器15の詳細な構成
を示す図、第7図(A)、(B)および第8図(A)、
(B)はシフト回路76の動作を説明するための図、第
9図はシフト回路76の1実施例を示す回路図、第10
図(A)。 (B)はデータオーバフローについての説明図、第11
図は出力補正回路の一部要素85.87゜89の具体的
な回路構成を示す図、第12図(A)〜(B)は上記信
号処理プロセッサ各部における浮動小数点データの変化
の様子を示す図、第13図(A)〜(D)は固定小数点
データの変化の様子を示す図、第14図入力選択回路6
0の具体的な回路構成を示す図、第15図は入力選択回
路61の具体的な回路構成を示す図、第16図は出力ス
イッチ回路17の具体的な回路構成を示す図、第17図
はディジタル信号処理プロセッサのダイナミツ48− クレソンを示す図、第18図は上記プロセッサの動作の
特徴を説明するためのタイムチャー1〜、第19図は自
動等化器の主要部であるトランスバーサルフィルタを示
す図、第20図は本発明の1実施例を示すモデムの構成
図である。 1000.1013・・・入力端子、1001−Xクラ
ンブラ、10o2・・・差動符号器、1003゜100
4.1020.1021・・・低域フィルタ、1005
.1006山変調回路、1007−・・加算器、100
8・・D/A変換器、1009−アナログ低域フイルタ
、1010.1027川出カ端子、1014・・・帯域
フィルタ、1o15・・・AGC回路、1016・・・
A/D変換器、1o17・・・電力計算回路、1018
,101.9−復調回路、I O22・・・タイミング
抽出回路、1o23・・自動等化器、1024・・・識
別判定回路、1o25・・・差動復号器、1026・・
デスクランブラ、I、5.6・・・メモリ、2・・・プ
ログラムカウンタ、3・・命令レジスタ、4・・・制御
回路、7・・汎用レジスタ、8・・選択回路、9.10
,11.12・ レジスタ、I4・・浮動小数点演算型
の乗算器、15・・・浮動小数点型加算器、16・・・
累算器、17・・スイッチ回路、18・・・コードレジ
スタ、30・・・出力レジスタ、31・・・入力レジス
タ、32,33.35・・シフトレジスタ、36・・・
カウンタ、37・・・ステータス・レジスタ、40・・
・制御回路、41・・ファンクション制御回路、42・
・・クロックパルス発生回路。 D rI””” E 第 13 0
Figure 1 is a modem configuration diagram showing the functions of the modem, Figure 1 (A
) shows a modem transmitter, and FIG. 2(B) shows a modem receiver. FIG. 2 is a diagram showing the cascade connection configuration of digital filters and the input/output signal levels of each filter, and FIG. 3 is a block diagram showing an example of the overall configuration of a 47-floating point signal processor used in the modem of the present invention. 4 is a diagram showing the detailed configuration of the multiplier 14, and FIGS. 6(A) and (B) are diagrams showing the detailed configuration of the adder/subtractor 15, FIG. 7(A), (B) and FIG. 8(A),
(B) is a diagram for explaining the operation of the shift circuit 76, FIG. 9 is a circuit diagram showing one embodiment of the shift circuit 76, and FIG.
Figure (A). (B) is an explanatory diagram about data overflow, No. 11
The figure shows a specific circuit configuration of some elements 85.87°89 of the output correction circuit, and FIGS. 12(A) and 12(B) show changes in floating point data in each part of the signal processing processor. 13(A) to 13(D) are diagrams showing changes in fixed-point data, and FIG. 14 is an input selection circuit 6.
15 is a diagram showing a specific circuit configuration of the input selection circuit 61, FIG. 16 is a diagram showing a specific circuit configuration of the output switch circuit 17, and FIG. 17 is a diagram showing a specific circuit configuration of the output switch circuit 17. 18 is a diagram showing the dynamics of a digital signal processing processor, FIG. 18 is a time chart 1 to 1 to explain the operation characteristics of the above-mentioned processor, and FIG. 19 is a transversal filter which is the main part of an automatic equalizer. FIG. 20 is a configuration diagram of a modem showing one embodiment of the present invention. 1000.1013...Input terminal, 1001-X scrambler, 10o2...Differential encoder, 1003°100
4.1020.1021...Low pass filter, 1005
.. 1006 peak modulation circuit, 1007-...adder, 100
8...D/A converter, 1009-analog low-pass filter, 1010.1027 output terminal, 1014...bandpass filter, 1o15...AGC circuit, 1016...
A/D converter, 1o17...Power calculation circuit, 1018
, 101.9-Demodulation circuit, I O22... Timing extraction circuit, 1o23... Automatic equalizer, 1024... Identification determination circuit, 1o25... Differential decoder, 1026...
Descrambler, I, 5.6...Memory, 2...Program counter, 3...Instruction register, 4...Control circuit, 7...General purpose register, 8...Selection circuit, 9.10
, 11.12. Register, I4... Floating point type multiplier, 15... Floating point type adder, 16...
Accumulator, 17...Switch circuit, 18...Code register, 30...Output register, 31...Input register, 32, 33.35...Shift register, 36...
Counter, 37...Status register, 40...
・Control circuit, 41 ・Function control circuit, 42 ・
...Clock pulse generation circuit. D rI”””E 13th 0

Claims (1)

【特許請求の範囲】 ■、低伝送べきデータ信号を第1のディジタル信号に変
換する第1信号変換部と、上記第1のディジタル信号を
入力とし少なくともフィルタリングおよび変調を含む信
号処理を行なう第1信号演算部と、上記第1信号処理演
算部の出力をD/A変換とし伝送信号にする第2信号変
換部とを有する送信部と、 上記伝送信号の受信信号を第2のディジタル信号に変換
する第3信号変換部と、上記第3信号変換部の出力を入
力とし少なくとも復調、フィルタリングおよび等化を含
む信号処理を行なう第2信号演算部と、上記第2信号演
算部の出力を上記伝送すべきデータ信号と同じ信号に変
換する第4信号変換部とを有する受信部とからなるデー
タモデムにおいて、 上記、第1及び第2信号演算部が、それぞれ指数表示部
と仮数表示部とからなる第1および第2のデータを供給
する手段と、上記第1.第2のデータの指数表示部同士
を加算し、仮数表示部同士を掛算して演算結果を出力す
る浮動小数点データ乗算手段と、上記乗算手段の演算結
果が1つの入力として供給される浮動小数点データ加減
算手段と、上記加減算手段による演算結果を保持するた
めのデータ累算手段と、上記データ供給手段と乗算手段
と加減手段とに接続された第1のデータバスと、上記累
算手段の出力を」二記加減算手段に入力するための第2
のデータバスと、上記累算手段と上記第1.第2のデー
タバスとの間に接続されたスイッチング手段と、プログ
ラムに従って上記各要素の動作を制御する制御手段と、
」二記第1のデータバスに接続される入力レジスタ、出
力レジスタを介した複数個の外部端子を有する第1の信
号処理プロセッサで構成され、 上記第1および第4信号変換部が、」−記第1の信号処
理プロセッサと独立に動作し、」二記複数の外部端子を
介して接続された第2の信号処理プロセッサとで構成さ
れたことを特徴とする信号処理プロセッサによるデータ
モデム。 2、 第1項記載において、第2の信号処理プロセッサ
が固定小数点表示のデータをとり扱うプロセッサで構成
された信号処理プロセッサーによるデータモデム。 3、第1項記載において、上記第2演算部の第1の信号
処理プロセッサは係数C1(i=1゜・・・N)、入力
標本値をXnとしたときYo−Σ Ci x、−、+1
のトランスバーサルフィルタの機能を行うプログラム処
理を行うことを特徴とする信号処理プロセッサによるデ
ータモデム。
[Claims] (1) A first signal converter that converts a data signal to be transmitted at a low rate into a first digital signal, and a first signal converter that receives the first digital signal and performs signal processing including at least filtering and modulation. a transmitting unit having a signal calculation unit; a second signal conversion unit that converts the output of the first signal processing calculation unit into a transmission signal; and converts the received signal of the transmission signal into a second digital signal; a third signal converting section that receives the output of the third signal converting section and performs signal processing including at least demodulation, filtering, and equalization, and transmits the output of the second signal calculating section. a data modem comprising a receiving section having a fourth signal converting section that converts the data signal into the same signal as the data signal to be processed, wherein the first and second signal calculating sections each include an exponent display section and a mantissa display section. means for supplying first and second data; floating-point data multiplication means that adds the exponent display parts of the second data and multiplies the mantissa display parts to output the calculation result; and floating-point data to which the calculation result of the multiplication means is supplied as one input. a first data bus connected to the data supply means, the multiplication means, and the addition/subtraction means; "Second for inputting to the second addition/subtraction means
data bus, the accumulation means, and the first data bus. a switching means connected between the second data bus and a control means for controlling the operation of each of the above elements according to a program;
``2.The first signal processing processor includes a plurality of external terminals via an input register and an output register connected to the first data bus, and the first and fourth signal converters are configured as ``- 1. A data modem using a signal processing processor, comprising: a second signal processing processor that operates independently of the first signal processing processor; and a second signal processing processor connected to the first signal processing processor through a plurality of external terminals. 2. A data modem using a signal processing processor according to item 1, wherein the second signal processing processor is a processor that handles data in fixed-point representation. 3. In the description of item 1, the first signal processing processor of the second calculation unit has a coefficient C1 (i=1°...N), and when the input sample value is Xn, Yo-Σ Ci x, -, +1
A data modem using a signal processing processor, characterized in that it performs program processing to perform the function of a transversal filter.
JP27298784A 1984-12-26 1984-12-26 Data modem using signal processor Granted JPS60167551A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27298784A JPS60167551A (en) 1984-12-26 1984-12-26 Data modem using signal processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27298784A JPS60167551A (en) 1984-12-26 1984-12-26 Data modem using signal processor

Publications (2)

Publication Number Publication Date
JPS60167551A true JPS60167551A (en) 1985-08-30
JPS645500B2 JPS645500B2 (en) 1989-01-31

Family

ID=17521563

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27298784A Granted JPS60167551A (en) 1984-12-26 1984-12-26 Data modem using signal processor

Country Status (1)

Country Link
JP (1) JPS60167551A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4849703A (en) * 1986-07-15 1989-07-18 Hayes Microcomputer Products, Inc. Method and apparatus for generating a data sampling clock locked to a baud clock contained in a data signal
US4868864A (en) * 1986-07-15 1989-09-19 Hayes Microcomputer Products, Inc. Autocorrelating 2400 bps handshake sequence detector
US4910474A (en) * 1986-07-15 1990-03-20 Hayes Microcomputer Products, Inc. Method and apparatus for generating phase and amplitude modulated signals
US5040194A (en) * 1986-07-15 1991-08-13 Hayes Microcomputer Products, Inc. Method and apparatus for providing for automatic gain control of incoming signals in a modem

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4849703A (en) * 1986-07-15 1989-07-18 Hayes Microcomputer Products, Inc. Method and apparatus for generating a data sampling clock locked to a baud clock contained in a data signal
US4868864A (en) * 1986-07-15 1989-09-19 Hayes Microcomputer Products, Inc. Autocorrelating 2400 bps handshake sequence detector
US4910474A (en) * 1986-07-15 1990-03-20 Hayes Microcomputer Products, Inc. Method and apparatus for generating phase and amplitude modulated signals
US5040194A (en) * 1986-07-15 1991-08-13 Hayes Microcomputer Products, Inc. Method and apparatus for providing for automatic gain control of incoming signals in a modem

Also Published As

Publication number Publication date
JPS645500B2 (en) 1989-01-31

Similar Documents

Publication Publication Date Title
JPS6242296B2 (en)
US5457805A (en) Microcomputer enabling high speed execution of product-sum operation
US5111421A (en) System for performing addition and subtraction of signed magnitude floating point binary numbers
JPH04290122A (en) Numerical expression conversion device
EP0164451B1 (en) An arithmetic processing unit for executing a floating point operation
JPS60167551A (en) Data modem using signal processor
US5181184A (en) Apparatus for multiplying real-time 2&#39;s complement code in a digital signal processing system and a method for the same
JPH0690668B2 (en) Fuzzy computing device
JP2511527B2 (en) Floating point arithmetic unit
JPS62187933A (en) Adder/subtractor
JPS6312025A (en) Adding and subtracting device
JPH0357488B2 (en)
JPH0357487B2 (en)
JPH02224019A (en) Adding and subtracting device
JP2582816B2 (en) Data transfer device
KR100196520B1 (en) Apparatus for conversion of two&#39;s complement numbers
JPS60175142A (en) Digital operation circuit
JPH0470947A (en) Signal processing circuit
JPS61138334A (en) Decimal arithmetic processor
EP0470450A2 (en) Fine timing recovery for QAM modem receiver
JPH0335691B2 (en)
JPH01240961A (en) Dma transfer system
JPS6129020B2 (en)
JPS59117638A (en) Operating device
JPH06103458B2 (en) Processor