JP2004328361A - Harmonic overtone generation method and harmonic overtone generator - Google Patents

Harmonic overtone generation method and harmonic overtone generator Download PDF

Info

Publication number
JP2004328361A
JP2004328361A JP2003119972A JP2003119972A JP2004328361A JP 2004328361 A JP2004328361 A JP 2004328361A JP 2003119972 A JP2003119972 A JP 2003119972A JP 2003119972 A JP2003119972 A JP 2003119972A JP 2004328361 A JP2004328361 A JP 2004328361A
Authority
JP
Japan
Prior art keywords
signal
buffer memory
zero
overtone
input signal
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.)
Pending
Application number
JP2003119972A
Other languages
Japanese (ja)
Inventor
Naoyuki Kato
直行 加藤
Yoshinori Kumamoto
義則 熊本
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2003119972A priority Critical patent/JP2004328361A/en
Priority to EP04008546A priority patent/EP1473965A2/en
Priority to CN2004100325813A priority patent/CN1538784B/en
Priority to US10/821,942 priority patent/US7551742B2/en
Publication of JP2004328361A publication Critical patent/JP2004328361A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Circuit For Audible Band Transducer (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a harmonic overtone generation method and a harmonic overtone generater which enable the capacity of a buffer memory to be reduced. <P>SOLUTION: The harmonic overtone generation method consist of a processing step S11 for applying downsampling to an inputted signal, a step S12 for storing the inputted signal after the downsampling into a buffer memory, a step S13 for reading signal data from the buffer memory, a processing step S14 for applying upsampling to the read signal data and the processing step 15 for applying time axis compression operation to the upsampled signal and output of the processing step S15 becomes a harmonic overtone of the inputted signal. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、低音域の成分に関する倍音を生成する倍音生成方法および倍音生成装置に係る。
【0002】
【従来の技術】
従来より、様々な目的で、原音の整数倍の周波数成分、すなわち倍音を生成する倍音生成装置を含んだ音響信号装置が各種提案されている。
【0003】
例えば、小型スピーカで生成不可能な低音域の成分の倍音を生成し、バーチャルピッチ効果を利用して低音感向上を図る音響信号処理装置が知られている。
【0004】
倍音生成装置に関連して、原音の周波数を変換する周波数変換装置が各種知られている。倍音生成とは、周波数変換における周波数変換率を2以上の整数倍に限定したものと考えてよい。
【0005】
周波数変換は、時間軸圧縮操作により行う。例えば、図23で示すように、時間長t1の信号(図23(a))を、それより短い時間長t2で再生することで、周波数を(t1/t2)倍に上げることができる(図23(b))。
【0006】
図24は、従来例として、特許文献1に記載されている周波数変換装置のブロック線図を示したものである。
【0007】
この周波数変換装置は、バッファメモリとしての役割を有するRAMに対する読み出しと書き込み速度の制御、すなわち、RAMへの書き込みよりも速い速度で信号をRAMから読み出すことにより、時間軸圧縮操作を行っており、これにより入力信号の周波数を上げている。ただし、このような操作は必然的に再生時間の変化を伴う。通常は、読み出しアドレスを適時再設定することで、再生時間の変化を補正する。
【0008】
図24において、読み出しアドレスカウンタ2415と書き出しアドレスカウンタ2416は、それぞれ、RAMからのデータの読み出しアドレスとRAMへの書き出しアドレスを与えると共に、そのアドレスの更新速度を制御する。
【0009】
ゼロクロス検出回路2413は、RAMに格納された信号に対するゼロクロス点を検出する。その結果は、前述した読み出しアドレスの再設定動作に反映される。
【0010】
すなわち、図25(a)で示すように、ゼロクロス検出回路より検出したゼロクロス点と、仮決めした再設定アドレスA1、B1のずれを計算し、A1からA2に、B1からB2に再設定アドレスの補正を行う。これにより、図25(b)に示すように、アドレス再設定時の信号接続を滑らかに行う。
【0011】
【特許文献1】
特開昭60−35795号公報
【0012】
【発明が解決しようとする課題】
従来の技術で説明したように、従来の倍音生成装置では、対象とする信号に関して、ゼロクロス区間を超える信号データを格納するだけのバッファメモリの容量が必要となる。しかしながら、本技術の処理対象としている低域成分は波長が長いため、ゼロクロス区間も長くなり、そのため、バッファメモリの容量が莫大なものになり、コストが高くなる課題が存在した。
【0013】
本発明は、以上の課題を鑑みなされたもので、ゼロクロス区間の信号を一時保存するためのバッファメモリの容量を削減した倍音生成方法および倍音生成装置を提供することを目的とするものである。
【0014】
【課題を解決するための手段】
第1の発明は、入力信号に対しその倍音を生成する倍音生成方法であって、
前記入力信号に対しダウンサンプリングを行った後にバッファメモリに格納し、
前記バッファメモリから読み出した信号についてアップサンプリングを行い、
前記アップサンプリングされた信号に対し、時間軸圧縮操作あるいは間引き操作により倍音を生成するものである。
【0015】
これにより、信号をダウサンプリングされた状態でバッファメモリに格納するため、必要となるバッファメモリの容量を削減できる。
【0016】
第2の発明は、入力信号に対し、周波数がk倍(kは自然数)の倍音を生成する倍音生成方法であって、
前記入力信号に対しダウンサンプリングを行った後に、書き込みアドレスの更新速度p(pは自然数)でバッファメモリに格納し、
前記バッファメモリから、読み出しアドレスの更新速度がp×kで読み出した信号について、kサンプルのうち1サンプルの割合でアップサンプリングを行うことにより、倍音を生成することを特徴とするものである。
【0017】
これにより、信号をダウサンプリングされた状態でバッファメモリに格納するため、必要となるバッファメモリの容量を削減できる。また、kサンプルのうち1サンプルの割合でアップサンプリングを行うことで、不要なサンプルのアップサンプリング操作を省かれるため、演算量を削減できる。
【0018】
第3の発明は、入力信号に対しその倍音を生成する倍音生成装置であって、
前記入力信号に対し間引き処理を行うダウンサンプリング手段と、
信号系列の処理過程でのいずれか定められた信号に対し、ゼロクロス点を検出するゼロクロス検出手段と、
前記ダウンサンプリング手段の出力信号を格納するバッファメモリと、
前記ゼロクロス検出手段が検出したゼロクロス点の情報と、生成する倍音の次数に基づき、前記バッファメモリからの読み出しアドレスを設定するアドレス管理手段と、
前記アドレス管理手段からの読み出しアドレスの情報からアップサンプリングで用いるフィルタの係数を選択し、前記バッファメモリからの出力信号に関し、信号のアップサンプリングを行うアップサンプリング手段とを具備することを特徴とするものである。
【0019】
これにより、信号をダウサンプリングされた状態でバッファメモリに格納するため、必要となるバッファメモリの容量を削減できる。
【0020】
【発明の実施の形態】
最初に、従来の技術で述べた周波数変換手法を、倍音生成を目的として改良を施した倍音生成方法の原理と、それを適用した倍音生成装置について説明する。
【0021】
まず、整数倍の周波数変換の基本原理について、図2を参照しながら説明する。図2(a)に示すような正弦波に関し、その倍音を生成する例を考える。ゼロクロス点とは、信号が正から負へ、あるいは負から正へ変化する点と定義される。例えば、負から正へのゼロクロス点は、P1、P2、P3となる。第2倍音を生成する場合には、負から正へのゼロクロス点から、次の負から正へのゼロクロス点との区間(以下、ゼロクロス区間と呼ぶことにする)、ゼロクロス区間P1−P2、ゼロクロス区間P2−P3において、波形を時間軸方向について1/2に圧縮し、2回繰り返し再生する。この処理後の信号は、図2(b)に示すように、周波数が2倍の信号になっていることがわかる。
【0022】
同様に、第N倍音は、同ゼロクロス点の区間において、時間軸方向に1/Nに圧縮し、N回繰り返し再生することで生成される。
【0023】
上記原理に基づく基本的な倍音生成装置のブロック線図を図3に示す。従来の倍音生成装置は、入力信号を受ける入力端子301、入力端子からの信号を一時格納するバッファメモリ304、バッファメモリ304に格納されている信号、あるいはその入力、あるいはその出力に関し、ゼロクロス点を検出するゼロクロス検出手段303、ゼロクロス検出手段303からの情報に基づき、バッファメモリ304からの信号の読み出しアドレスを制御するアドレス管理手段305、バッファメモリ304から読み出された信号、これが目的の倍音となるが、この倍音を外部に出力するための出力端子308により構成される。
【0024】
ここで、バッファメモリ304の動作を、図4を用いて説明する。ここでは、生成する倍音の次数を2とし、ブロック処理で1ブロックが8サンプル単位で処理を行うものとする。
【0025】
バッファメモリ304には、図4(a)から図4(b)に示すように入力信号が8サンプル単位で、B1w、B2w、B3w、・・・と順次書き込まれていく。
【0026】
その一方で、図4(b)から図4(c)のように、一定サンプル遅れて、1サンプル飛びで、B1r、B2r、B3r、・・・と、8サンプル単位で読み出される。このように、1サンプル飛びで読み出された信号データは、図4(d)のように、再び元のサンプリング周波数の信号として出力される。これにより入力信号に対し、周波数を2倍に変換した信号が得られる。
【0027】
アドレス管理手段305では、バッファメモリ304における読み出しアドレスの制御を行う。読み出しアドレスがゼロクロス点のアドレスに達した最初の場合には、読み出しアドレスを前回のゼロクロス点に戻し、そこから再度アドレス更新を行う。2回目の場合には、前回のゼロクロス点に戻ることはせずに、そのまま読み出しアドレスを更新する。すなわち、隣接するゼロクロス点の間で2回繰り返すことになる。
【0028】
この動作でわかるように、読み出しアドレスの更新速度は、書き込みアドレスの更新速度の2倍である。したがって、読み出しアドレスが書き込みアドレスを追い越すことが無いように、2つのアドレスは所定の間隔を設ける必要がある。
【0029】
(実施の形態1)
以下、図面を参照しながら、本発明の実施の形態1を説明する。
【0030】
まず、本発明の実施の形態1における倍音生成方法について、図1を参照しながら説明する。ここでは、本発明の本質とは直接関係はないゼロクロス点の検出と、それ伴うアドレス管理動作に関しては省略している。
【0031】
図1に示されるように、本実施の形態における倍音生成方法は、入力信号に対しダウンサンプリングを行う処理ステップS11と、ダウンサンプリング後の入力信号をバッファメモリに格納するステップS12と、バッファメモリから信号データを読み出すステップS13と、読み出された信号データに対しアップサンプリングを行う処理ステップS14と、アップサンプリングされた信号に対し時間軸圧縮操作を行う処理ステップS15から成る。
【0032】
さらに、時間軸圧縮についての一例を示した倍音生成方法を、図5を参照しながら説明する。ここでは、周波数がk倍の倍音を生成するものとする。
【0033】
長さMの入力信号に対しダウンサンプリングを行う処理ステップS51と、ダウンサンプリング後の入力信号をバッファメモリに格納するステップS52と、バッファメモリから信号データを読み出すステップS53と、読み出された信号データに対しアップサンプリングを行い長さM×kの信号を作る処理ステップS54と、kサンプルのうち1サンプルの割合で信号を取り出すといった間引き操作を行う処理ステップS55から成る。
【0034】
次に、図5と図6を参照しながら、より詳細な動作について説明する。ここでは数値例として、ステップS51でのダウンサンプリング率を1/4、生成する倍音の次数を2とする。また、1ブロックで8サンプル(M=8)(入力信号の時点で)まとめて処理を行うブロック処理とする。
【0035】
長さ8サンプルの入力信号は、ステップS51で1/4にダウンサンプリングされて2サンプルとなり(図6(a))、ステップS52でバッファメモリに(B1w、B2w、B3w、・・・)のように格納される(図6(b))。
【0036】
ステップS53ではバッファメモリからは4サンプルの信号データが(B1w、B2w、B3w、・・・)のように読み出される(図6(c))。すなわち、バッファメモリからの読み出しアドレスは、バッファメモリへの書き込みアドレスよりも遅れており、単位時間当たりのアドレス更新速度が、書き込みアドレスの2倍となっている。
【0037】
ステップS54では、この4サンプルの信号データに対し、4倍のアップサンプリングを行う(図6(d))。これには、イメージング歪を除去するためのフィルタ処理が含まれている。
【0038】
ステップS55では、アップサンプリングされた信号データに対し、2サンプルのうち1サンプルを取り出していく(図6(e))。すなわち、出力するサンプルと廃棄するサンプルが交互になる。これにより、元の時間長に戻し、事実上の時間軸圧縮操作を行い、元の信号と同じ長さで、周波数を2倍にした信号(図6(f))が得られる。
【0039】
上記の倍音生成方法によれば、ダウンサンプリングされ、信号のデータ数が減少された状態でバッファメモリに格納することができるので、バッファメモリの容量を削減できる。
【0040】
以上に示した倍音生成方法に基づき、装置として適用した倍音生成装置に関して説明する。
【0041】
本発明の実施の形態1における倍音生成装置のブロック線図を図7に示す。実施の形態1における倍音生成装置は、入力端子701、ダウンサンプリング手段702、ゼロクロス検出手段703、バッファメモリ704、アドレス管理手段705、アップサンプリング手段706、間引き手段707、出力端子708から構成されている。
【0042】
入力端子701は、倍音生成装置への入力信号を受ける端子である。
【0043】
ダウンサンプリング手段702は、入力端子701からの入力信号に対し、エイリアス歪の発生を防止するために、周波数帯域を制限するフィルタリングを行い、そして所定の間隔で信号の間引きを行うものである。換言すれば、信号のサンプリング周波数を下げるものである。ここで行うフィルタリングを行うフィルタとして、FIRフィルタを用いても良いし、IIRフィルタを用いても良い。
【0044】
バッファメモリ704は、ダウンサンプリング手段702の出力信号を一旦メモリに格納し、アドレス管理手段705の指示に従って、メモリに格納された信号をアップサンプリング手段706へ出力するものである。
【0045】
ゼロクロス検出手段703は、アップサンプリング手段706からの出力信号に対し、そのゼロクロス点を検出するものである。
【0046】
アドレス管理手段705は、ゼロクロス検出手段703からの情報に基づき、バッファメモリ704からの信号の読み出しアドレスを求め、バッファメモリ704から読み出す出力を制御するものである。
【0047】
アップサンプリング手段706は、バッファメモリ704からの信号を、イメージングによる歪の発生を防止するために、周波数帯域を制限するフィルタリングを行い、元のサンプリング周波数に戻し、さらに信号の長さをk倍(kは生成する倍音の次数)にするものである。ここで行うフィルタリングを行うフィルタとして、FIRフィルタを用いても良いし、IIRフィルタを用いても良い。ダウンサンプリング手段702で用いられるものと同じフィルタでも良い。
【0048】
間引き手段707は、アップサンプリング手段706からの出力に対し、kサンプルに1回の割合で信号を取り出し、時間軸圧縮を行って周波数をk倍に上げると共に、信号の長さを元に戻すものである。
【0049】
出力端子708は、間引き手段707からの出力信号を、外部に出力するものである。
【0050】
次に、図6を参照しながら、より詳細な動作について説明する。ここでは数値例として、ダウンサンプリング手段702におけるダウンサンプリング率を1/4、生成する倍音の次数を2とする。また、1ブロックで8サンプル(ダウンサンプリング手段702での入力時時点)まとめて処理を行うブロック処理とする。また、ゼロクロス検出手段703は、アップサンプリング手段706の出力に関し、ゼロクロス判定を行うものとする。
【0051】
入力端子701からの信号は、ダウンサンプリング手段702で1/4にダウンサンプリングされ(図6(a))、バッファメモリ704に格納される(図6(b))。入力信号が8サンプルの長さであれば、そのうちの1/4である2サンプルのみがバッファメモリ704に転送される。
【0052】
ゼロクロス検出手段703は、アップサンプリング手段706の出力よりゼロクロス点を検出し、それをアドレス管理手段705へ伝達する。
【0053】
アドレス管理手段705は、受け取ったゼロクロス点の情報より、バッファメモリ704からの読み出しアドレスを算出する。バッファメモリ704からの読み出しアドレスは、バッファメモリ704への書き込みアドレスよりも遅れている。そして単位時間当たりのアドレス更新速度が、書き込みアドレスの2倍となっている。すなわち、バッファメモリ704に2サンプル書き込まれる毎(B1w、B2w、B3w、・・・)に、そのバッファメモリ704から4サンプル分の信号データが読み出される(B1r、B2r、B3r、・・・)ことになる(図6(c))。
【0054】
なお、読み出しアドレスがゼロクロス点に達した場合、前回のゼロクロス点の読み出しアドレスまで戻り、そこから再度アドレス更新が行われる。すなわち、ゼロクロス区間を2回繰り返すことになる。
【0055】
アップサンプリング手段706は、バッファメモリ704からの出力(図6(c))について、4倍のアップサンプリングを行う(図6(d))。これには、イメージング歪を除去するためのフィルタ処理が含まれている。
【0056】
ここで、バッファメモリ704から読み出され、アップサンプリング手段706でフィルタリングされる信号データについて簡単にコメントする。アップサンプリング手段706でフィルタリングを行うためには、フィルタ次数に基づく過去の信号データが必要である。これについては、以下の3つの方法がある。
【0057】
方式1
バッファメモリ704への読み出しアドレスは、信号データの先頭(あるいは末尾)のアドレスを示しており、それからアップサンプリング手段706におけるフィルタリングに必要な分(α個)だけ、連続した信号データをバッファメモリ704から読み出す。
【0058】
方式2
新しい信号データのみ、バッファメモリ704から読み出し、他の過去の信号データは、アップサンプリング手段706で記録した信号データを用いる。すなわち、アップサンプリング手段706は過去の信号データを保持する手段をも含んでいる。
【0059】
方式3
方式1と2の折衷系である。フィルタリングに伴う、過去のフィルタ出力信号データはアップサンプリング手段706に保持されており、フィルタへの入力信号データは、全てバッファメモリ704から供給される。
【0060】
間引き手段707は、アップサンプリング手段706の出力(図6(d))に対し、2サンプルのうち1サンプルを取り出していく(図6(e))。すなわち、出力するサンプルと廃棄するサンプルが交互になる。これにより、元の時間長に戻し、事実上の時間軸圧縮操作を行い、元の信号と同じ長さで、周波数を2倍にした信号(図6(f))を得る。
【0061】
なお、ここでは、ゼロクロス検出手段703について、ゼロクロス点を検出すべき信号として、アップサンプリング手段706の出力としたが、図8(a)で示す構成のように、ダウンサンプリング手段702の入力信号を、ゼロクロス点を検出すべき信号としてもよい。この場合は、ダウンサンプリング手段702、バッファメモリ704、アップサンプリング手段706の処理における遅延分をあらかじめ考慮し、アップサンプリング手段706での出力でのゼロクロス点の時刻に合わせればよい。
【0062】
また、時間分解能は劣るものの、間引き手段707の出力でゼロクロス点の検出を行うことも可能である。その場合のブロック線図を、図8(b)に示す。
【0063】
さらに、図8(c)、(d)、(e)で示す構成のように、バッファメモリ704の入力、あるいは出力、あるいは記録されている信号データを、ゼロクロス点を検出すべき信号としてもよい。この場合にも、バッファメモリ704やアップサンプリング手段706の処理における遅延分をあらかじめ考慮し、アップサンプリング手段706での出力でのゼロクロス点の時刻に合わせる必要がある。
【0064】
なお、図8(c)、(d)、(e)のいずれの構成においても、ダウンサンプリングされた信号データを用いるため、時間分解能が大きい状態でゼロクロス点を検出することになる。
【0065】
これを避けるため、例えば、直線補間を用いて、ゼロクロス点の検出における時間分解能を細かくする方法が考えられる。これについて、図9を用いて説明する。
【0066】
x(40)、x(44)、x(52)のように、ゼロクロス点を含まない場合は、そのままでよい。
【0067】
x(48)のようにゼロクロス点が検出された場合には、その前のダウンサンプリングされたサンプルx(44)との間を直線で結び、その直線上に挿入したサンプルx(45)、x(46)、x(47)を含めてゼロクロス点の検出を行うと、検出の時間分解能を向上させることができる。
【0068】
なお、ゼロクロスの検出方法には、この他にも各種の変形が考えられるが、本発明はゼロクロスの検出方法には依存しないため、いずれの方法を使用しても良い。
【0069】
本実施の形態によれば、バッファメモリ704に格納される信号データが、元の信号データの1/4、すなわちダウンサンプリング手段702のダウンサンプリング率だけ小さくなる。よって、バッファメモリ704の容量も1/4で済み、バッファメモリの容量の削減に関し、大きな効果を有していることがわかる。
【0070】
以上の動作を具体的な例で説明する。ここでは、図10に示すゼロクロス点y(41)とy(104)を含む信号を例として考える。また、ダウンサンプリング率は1/4で、第2倍音を作るものとし、アップサンプリング時のイメージング歪の除去を行うフィルタとして、以下の16タップのFIRフィルタF(z―)を用いるものとする。
【0071】
F(z―)=f(0)+f(1)z−1+f(2)z―+・・+f(15)z―15
この例において、各時刻tで倍音y(n)を求めることを考える。なお、x(4m+1)、x(4m+2)、x(4m+3)(mは自然数)の値はバッファメモリには存在せず、値0とみなして演算すればよい。なお、この値0に対する乗算は省くことも可能である。
【0072】
以下、ゼロクロス区間を2回繰り返すところまでを列記する。
【0073】
t=0、t=1:
ダウンサンプリング後の信号をx(80)として書き込む。
【0074】
x(28)、x(32)、x(36)、x(40)を読み出し
y(40)、y(41)、y(42)、y(43)の信号を生成。
【0075】
最後に、y(40)、y(42)を出力。
【0076】
t=2、t=3:
x(32)、x(36)、x(40)、x(44)を読み出し
y(44)、y(45)、y(46)、y(47)の信号を生成。
【0077】
最後に、y(44)、y(46)を出力。
【0078】
t=4、t=6:
ダウンサンプリング後の信号x(84)として書き込む。
【0079】
x(36)、x(40)、x(44)、x(48)を読み出し
y(48)、y(49)、y(50)、y(51)の信号を生成。
【0080】
最後に、y(48)、y(50)を出力。
【0081】

t=30、t=31:
x(88)、x(92)、x(96)、x(100)を読み出し
y(100)、y(101)、y(102)、y(103)の信号を生成。
【0082】
最後に、y(100)、y(102)を出力。
【0083】
t=32、t=33:
ダウンサンプリング後の信号をx(112)として書き込み
x(28)、x(32)、x(36)、x(40)を読み出し
y(40)、y(41)、y(42)、y(43)の信号を生成。
【0084】
最後に、y(41)、y(43)を出力。
【0085】
t=34、t=35:
x(32)、x(36)、x(40)、x(44)を読み出し
y(44)、y(45)、y(46)、y(47)の信号を生成。
【0086】
最後に、y(45)、y(47)を出力。
【0087】

t=62、t=63:
x(88)、x(92)、x(96)、x(100)を読み出し
y(100)、y(101)、y(102)、y(103)、の信号を生成。
【0088】
最後に、y(101)、y(103)を出力。
【0089】
t=64、t=65:
ダウンサンプリング後の信号をx(144)として書き込み
x(92)、x(96)、x(100)、x(104)を読み出し
y(104)、y(105)、y(106)、y(107)、の信号を生成。
【0090】
最後に、y(105)、y(107)を出力。
【0091】

このような一連の動作で、倍音を生成することが出来る。
【0092】
なお、本発明の倍音生成装置は、ハードウェアとしても、コンピュータにおけるソフトウェアとしても適用可能である。
【0093】
(実施の形態2)
以下、図面を参照しながら、本発明の実施の形態2を説明する。
【0094】
まず、本発明の実施の形態2における倍音生成方法について、図11を参照しながら説明する。ここでは、周波数がk倍の倍音を生成するものとし、本発明の本質とは直接関係の無いゼロクロス点の検出と、それ伴うアドレス管理動作に関しては省略している。
【0095】
図11に示されるように、本実施の形態における倍音生成方法は、入力信号に対しダウンサンプリングを行う処理ステップS111と、ダウンサンプリング後の入力信号を書き込み速度pでバッファメモリに格納するステップS112と、バッファメモリから信号データを読み出し速度p×kで読み出すステップS113と、読み出された信号データに対し、kサンプルのうち1サンプルの割合でアップサンプリングを行い、倍音を生成する処理ステップS114から成る。
【0096】
次に、図11と図12を参照しながら、より詳細な動作について説明する。ここでは数値例として、ステップS1でのダウンサンプリング率を1/4、生成する倍音の次数を2とする。また、1ブロックで8サンプル(M=8)(入力信号の時点で)まとめて処理を行うブロック処理とする。
【0097】
長さ8サンプルの入力信号は、ステップS111で1/4にダウンサンプリングされて2サンプルとなり(図12(a))、ステップS112でバッファメモリに(B1w、B2w、B3w、・・・)のように格納される(図12(b))。
【0098】
ステップS113ではバッファメモリからは4サンプルの信号データが(B1w、B2w、B3w、・・・)のように読み出される(図12(c))。すなわち、バッファメモリからの読み出しアドレスは、バッファメモリへの書き込みアドレスよりも遅れており、単位時間当たりのアドレス更新速度が、書き込みアドレスの2倍となっている。
【0099】
ステップS114では、この4サンプルの信号データに対し、4倍のアップサンプリングを行う(図12(d))。これには、イメージング歪を除去するためのフィルタ処理が含まれている。ここで、2サンプルのうち1サンプルしかアップサンプリングしないものとする。すなわち、全てアップサンプリングすれば16サンプルになるところを、8サンプル分しかアップサンプリングの演算をしないことになる。この8サンプルは、そのまま入力信号と同じ長さ8の第2倍音となる。
【0100】
上記の倍音生成方法によれば、実施の形態1と同様に、バッファメモリの容量を削減できる効果を有すると共に、実施の形態1では間引き手段で廃棄されるデータについてはあらかじめ演算しないため、演算量の削減なる効果も有する。
【0101】
以上に示した倍音生成方法に基づき、装置として適用した倍音生成装置に関して説明する。図13は、本発明の実施の形態2における倍音生成装置のブロック線図である。
【0102】
実施の形態2における倍音生成装置は、入力端子1301、ダウンサンプリング手段1302、ゼロクロス検出手段1303、バッファメモリ1304、アドレス管理手段1305、アップサンプリング手段1306、出力端子1308から構成されている。
【0103】
入力端子1301は、倍音生成装置への入力信号を受ける端子である。
【0104】
ダウンサンプリング手段1302は、入力端子1301からの入力信号に対し、エイリアス歪の発生を防止するために、周波数帯域を制限するフィルタリングを行い、そして所定のサンプル間隔で信号の間引きを行うものである。換言すれば、信号のサンプリング周波数を下げるものである。ここで行うフィルタリングを行うフィルタとして、FIRフィルタを用いても良いし、IIRフィルタを用いても良い。
【0105】
バッファメモリ1304は、ダウンサンプリング手段1302の出力信号を一旦メモリに格納し、アドレス管理手段1305の指示に従って、メモリに格納された信号をアップサンプリング手段1306へ出力するものである。
【0106】
ゼロクロス検出手段1303は、バッファメモリ1304に記憶された信号、またはバッファメモリ1304への入力信号、あるいはバッファメモリ1304からの出力信号、あるいはアップサンプリング手段1306からの出力信号のいずれかに対し、そのゼロクロス点を検出するものである。これについては、実施の形態1で示したものと同様であるため、ここでは、アップサンプリング手段1306からの出力信号を対象とする場合についてのみ説明する。
【0107】
アドレス管理手段1305は、ゼロクロス検出手段1303からの情報に基づき、バッファメモリ1304からの信号の読み出しアドレスを求め、バッファメモリ1304から読み出す出力を制御するものである。
【0108】
アップサンプリング手段1306は、バッファメモリ1304からの信号を、イメージングによる歪の発生を防止するために、周波数帯域を制限するフィルタリングを行い、元のサンプリング周波数に戻し、さらに周波数をk倍にするものである。ここではFIRフィルタを用いる。
【0109】
出力端子1308は、アップサンプリング手段16からの出力信号を、外部に出力するものである。
【0110】
次に、図12を参照しながら、より詳細な動作について説明する。ここでは数値例として、実施の形態1と同様に、ダウンサンプリング手段1302におけるダウンサンプリング率を4、生成する倍音の次数を2とする。また、1ブロックで8サンプル(ダウンサンプリング手段1302での入力時時点)まとめて処理を行うブロック処理とする。
【0111】
また、ゼロクロス検出手段1303は、アップサンプリング手段1306の出力に関し、ゼロクロス判定を行うものとする。
【0112】
入力端子1301からの信号は、ダウンサンプリング手段1302で1/4にダウンサンプリングされ(図12(a))、バッファメモリ1304に格納される(図12(b))。入力信号が8サンプルの長さであれば、そのうちの1/4である2サンプルのみがバッファメモリ1304に転送される。
【0113】
ゼロクロス検出手段1303は、アップサンプリング手段1306の出力よりゼロクロス点を検出し、それをアドレス管理手段1305へ伝達する。
【0114】
アドレス管理手段1305は、受け取ったゼロクロス点の情報より、バッファメモリ1304からの読み出しアドレスを算出する。バッファメモリ1304からの読み出しアドレスは、バッファメモリ1304への書き込みアドレスよりも遅れている。そして単位時間当たりのアドレス更新速度が、書き込みアドレスの2倍となっている。すなわち、バッファメモリ1304に2サンプル書き込まれる毎(B1w、B2w、B3w、・・・)に、そのバッファメモリ1304から4サンプル分の信号データが読み出される(B1r、B2r、B3r、・・・)ことになる(図12(c))。
【0115】
ここまでは、実施の形態1と同様である。本実施の形態では、間引き手段が存在せず、その役割をアップサンプリング手段1306が兼ねる働きとなる。
【0116】
アップサンプリング手段1306は、バッファメモリ1304からの出力について、4倍のアップサンプリングが行われるが、実施の形態1では間引き手段で間引かれるデータについては、この時点で生成しないようにすることが大きな特徴である。
【0117】
このために、アップサンプリング手段1306にて、2サンプル毎のサンプルのみをフィルタ処理で求めるようにする(図12(d))。
【0118】
これにより、バッファメモリ1304からの出力が4サンプルの信号データならば、その4倍の16サンプルの信号データになるはずが、あらかじめ間引かれるサンプルはフィルタ処理を行わないため、8サンプルのみ信号データが生成されることになる。これは、事実上の時間軸圧縮操作となり、元の信号と同じ長さで周波数を2倍にした信号(図12(e))が得られる。
【0119】
なお、本実施の形態においても実施の形態1と同様に、読み出しアドレスがゼロクロス点に達した際には、前のゼロクロス点に読み出しアドレスが再設定される。そして、そのゼロクロス点より、2巡目のアップサンプリング処理が行われる。
【0120】
ここで、ゼロクロス区間の長さ、すなわちサンプル数が偶数か奇数かによって、2巡目の求めるべきサンプルが異なる。これについて、図14を用いて説明する。図14(a)のように、ゼロクロス区間の長さが偶数であれば、1巡目と同じ信号データを求めればよい。図14(b)のようにゼロクロス区間の長さが奇数の場合には、1巡目では求めなかったサンプルの信号データを求めればよい。すなわち、1巡目で求めたサンプルは、2巡目では求めないことになる。
【0121】
このようにすれば、入力信号と出力信号のサンプル数を一定に保ち、かつ歪の少ない倍音を生成することが出来る。
【0122】
以上、第2倍音を求める方法について説明したが、第3倍音以降も同様の操作で生成可能である。
【0123】
例えば、第3倍音を生成する場合を考える。アップサンプリング手段1306にて、3サンプル毎に、フィルタ処理で信号データを求めればよい。この場合、ゼロクロス区間が、3n、3n+1、3n+2(nは自然数)の3つの場合に分けられる。これについては、図15を参照しながら説明する。
【0124】
(a)ゼロクロス区間が3nの場合 図15(a)
1巡目、2巡目、3巡目全て同じ信号データを求めることになる。
【0125】
(b)ゼロクロス区間が3n+1の場合 図15(b)
2巡目で求める信号データは、1巡目でのサンプルより1サンプル過去側の信号データになる。3巡目で求める信号データは、2巡目でのサンプルより1サンプル過去側の信号データになる。
【0126】
(c)ゼロクロス区間が3n+2の場合 図15(c)
2巡目で求める信号データは、1巡目でのサンプルより1サンプル未来側の信号データになる。3巡目で求める信号データは、2巡目でのサンプルより1サンプル未来側の信号データになる。
【0127】
次に、動作を具体的な例で説明する。ここでは、実施の形態1と同様に、図10に示すゼロクロス点y(41)とy(104)を含む信号を例として考える。以下、実施の形態1と同様に、ダウンサンプリング率は1/4で、第2倍音を作るものとし、アップサンプリング時のイメージング歪の除去を行うフィルタとして、以下の16タップのFIRフィルタF(z―)を用いるものとする。
【0128】
F(z―)=f(0)+f(1)z−1+f(2)z―+・・+f(15)z―15
この例において、各時刻tで倍音y(n)を求めることを考える。なお、x(4m+1)、x(4m+2)、x(4m+3)(mは自然数)の値はバッファメモリには存在せず、値0とみなして演算すればよい。なお、この値0に対する乗算は省くことも可能である。
【0129】
以下、ゼロクロス区間を2回繰り返すところまでを列記する。
【0130】
t=0、t=1:
ダウンサンプリング後の信号をx(80)として書き込む。
【0131】
x(28)、x(32)、x(36)、x(40)を読み出し
y(40)、y(42)の信号を生成、出力。
【0132】
t=2、t=3:
x(32)、x(36)、x(40)、x(44)を読み出し
y(44)、y(46)の信号を生成、出力。
【0133】
t=4、t=6:
ダウンサンプリング後の信号x(84)として書き込む。
【0134】
x(36)、x(40)、x(44)、x(48)を読み出し
y(48)、y(50)の信号を生成、出力。
【0135】

t=30、t=31:
x(88)、x(92)、x(96)、x(100)を読み出し
y(100)、y(102)の信号を生成、出力。
【0136】
t=32、t=33:
ダウンサンプリング後の信号をx(112)として書き込み
x(28)、x(32)、x(36)、x(40)を読み出し
y(40)、y(42)の信号を生成、出力。
【0137】
最後に、y(41)、y(43)を出力。
【0138】
t=34、t=35:
x(32)、x(36)、x(40)、x(44)を読み出し
y(44)、y(46)の信号を生成、出力。
【0139】

t=62、t=63:
x(88)、x(92)、x(96)、x(100)を読み出し
y(100)、y(102)の信号を生成、出力。
【0140】
t=64、t=65:
ダウンサンプリング後の信号をx(144)として書き込み
x(92)、x(96)、x(100)、x(104)を読み出し
y(104)、y(106)の信号を生成、出力。
【0141】

このような一連の動作で、倍音を生成することが出来る。
【0142】
本実施の形態によれば、バッファメモリの容量削減の効果は実施の形態1と同様であるが、あらかじめ間引かれるとわかっている信号データに関しては、最初から求めないので、演算量の削減という意味でより優れていることがわかる。
【0143】
なお、本発明の倍音生成装置は、ハードウェアとしても、コンピュータにおけるソフトウェアとしても適用可能である。
【0144】
(実施の形態3)
以下、図面を参照しながら、本発明の実施の形態3を説明する。
【0145】
図16は、本発明の実施の形態3における倍音生成装置のブロック線図である。本実施の形態は、実施の形態2で説明したアップサンプリング手段において、より効率良く処理するためのものである。
【0146】
実施の形態3における倍音生成装置は、入力端子1601、ダウンサンプリング手段1602、ゼロクロス検出手段1603、バッファメモリ1604、アドレス管理手段1605、アップサンプリング手段1606、出力端子1608から構成されている。さらに、アップサンプリング手段1606は、サブフィルタ演算部1611とサブフィルタ係数選択部1612から構成されている。
【0147】
全体の動作は、実施の形態2とほぼ同一であるため、重複する箇所の説明は省き、本実施の形態の特徴であるアップサンプリング手段1606とアドレス管理手段1605の動作を中心に説明する。
【0148】
アドレス管理手段1605は、ゼロクロス検出手段1603からの情報に基づき、バッファメモリ1604からの信号の読み出しアドレスを求め、バッファメモリ1604から読み出す出力を制御するものである。さらに、サブフィルタ係数選択部1612へ、選択すべきサブフィルタを指定するための情報を伝達する。
【0149】
サブフィルタ係数選択部1612は、アドレス管理手段1605からのサブフィルタ選択情報を受けて、該当するサブフィルタの係数列を選択し、該係数列をサブフィルタ演算部1611に送る。
【0150】
サブフィルタ演算部1611は、サブフィルタ係数選択部1611により選択されたサブフィルタの係数列と、バッファメモリ1604から読み出された信号とのサブフィルタ処理(積和演算)を行う。
【0151】
図16の倍音生成装置の全体構成の中で、アドレス管理手段1605とアップサンプリング手段1606をより具体的に示したものが図17である。
【0152】
アドレス管理手段1605は、内部に設けられたレジスタと加算器により、生成倍音に相当する次数(例えば2)ずつアドレスを増加させる。
【0153】
これにより、2番目ごとにサンプルをアップサンプリングしていくことになるので、実施の形態2で述べたような不要なサンプルに対するアップサンプリング処理を省くことができる。
【0154】
ここで、ゼロクロス検出手段1604からのゼロクロス点の情報より、ゼロクロス点に到達した場合には、前のゼロクロス点、あるいは前のゼロクロス点より数サンプル進めた位置に、読み出しアドレスが再設定される。
【0155】
アドレス管理手段1605で算出されるアドレスの下位ビットは、サブフィルタの選択情報として、サブフィルタ係数選択部1612に送られる。
【0156】
また、アドレス管理手段1605で算出されるアドレスの上位ビットは、データ列を読み出すための情報として、バッファメモリ1604に送られる。
【0157】
サブフィルタ係数選択部1612は、送られてくる下位ビット情報に基づいて、該当するサブフィルタの係数列を選択する。
【0158】
バッファメモリ1604は、アドレス管理手段1605から送られてくる読み出しアドレスの上位ビット情報に基づいて、4つの連続するデータ列をサブフィルタ演算部1611に送る。
【0159】
サブフィルタ演算部1611は、サブフィルタ係数選択部1612により選択されたサブフィルタの係数列と、バッファメモリ1604から読み出された信号とを積和演算し、外部に出力する。
【0160】
ここで、サブフィルタ処理を用いたアップサンプリングの原理について説明する。数値例として、FIRフィルタのタップ数を16、ダウンサンプリング率1/4(アップサンプリング率4)とする。また、バッファメモリから取り出す信号をx(4m)、アップサンプリング出力をy(n)とする。
【0161】
最初に、以下のようなFIRフィルタを取り上げる。
【0162】
F(z−1)=f(0)+f(1)z−1+f(2)z―+・・+f(15)z―15
このFIRフィルタに関し、4つのサブフィルタに分割する。
【0163】
f0(z−1
=f(0)+f(4)z−4+f(8)z―+f(12)z―12
f1(z−1
=[f(1)+f(5)z−4+f(9)z―+f(13)z―12]z−1
f2(z−1
=[f(2)+f(6)z−4+f(10)z―+f(14)z―12]z−2
f3(z−1
=[f(3)+f(7)z−4+f(11)z―+f(15)z―12]z−3
したがって、アップサンプリング信号y(n)は、時刻nが次の4系列のうちどれに属するかを判別し、対応するサブフィルタ処理を行うことで得られる。
【0164】
(a)n=4mの系列
y(n)=f(0)x(4m)+f(4)x(4m−4)
+f(8)x(4m−8)
(b)n=4m+1の系列
y(n)=f(1)x(4m)+f(5)x(4m−4)
+f(9)x(4m−8)
(c)n=4m+2の系列
y(n)=f(2)x(4m)+f(6)x(4m−4)
+f(10)x(4m−8)
(d)n=4m+3の系列
y(n)=f(3)x(4m)+f(7)x(4m−4)
+f(11)x(4m−8)
ここで、サブフィルタの判別は、nをビット表示(2進数表示)した際の、最下位ビットから下位2ビットの情報により行うことが可能である。これは、nの最下位ビットから下位2ビットの情報(n−4m)に相当する。
【0165】
この動作をより具体的な例で説明する。
【0166】
各時刻tで倍音y(n)を求めることを考える。ダウンサンプリング率は1/4で、第2倍音を作る例を考える。また、ゼロクロス点がy(41)、y(104)にあるものとする。
【0167】
まず、nの上位ビット(=4m)に基づいて、信号データx(4m)がバッファメモリ14より読み出される。また、nの下位ビット(=n−4m)に基づいて、サブフィルタf0(z−1)〜f3(z−1)のいずれかが選択され、フィルタ演算手段で、積和演算が実行される。
【0168】
以上の操作を、ゼロクロス区間を2回繰り返すところまでを列記する。
【0169】
t=0、t=1:
ダウンサンプリング後の信号をx(80)として書き込み
x(28)、x(32)、x(36)、x(40)を読み出し
y(40)の信号を生成、f0(z−1)使用
y(42)の信号を生成、f2(z−1)使用
t=2、t=3:
x(32)、x(36)、x(40)、x(44)を読み出し
y(44)の信号を生成、f0(z−1)使用
y(46)の信号を生成、f2(z−1)使用
t=4、t=5:
ダウンサンプリング後の信号をx(84)として書き込み
x(36)、x(40)、x(44)、x(48)を読み出し
y(48)の信号を生成、f0(z−1)使用
y(50)の信号を生成、f2(z−1)使用

t=30、t=31:
x(88)、x(92)、x(96)、x(100)を読み出し
y(100)の信号を生成、f0(z−1)使用
y(102)の信号を生成、f2(z−1)使用
t=32、t=33:
ダウンサンプリング後の信号をx(112)として書き込み
x(28)、x(32)、x(36)、x(40)を読み出し
y(41)の信号を生成、f1(z−1)使用
y(43)の信号を生成、f3(z−1)使用
t=34、t=35:
x(32)、x(36)、x(40)、x(44)を読み出し
y(45)の信号を生成、f1(z−1)使用
y(47)の信号を生成、f3(z−1)使用

t=62、t=63:
x(88)、x(92)、x(96)、x(100)を読み出し
y(101)の信号を生成、f1(z−1)使用
y(103)の信号を生成、f3(z−1)使用
t=64、t=65:
ダウンサンプリング後の信号をx(144)として書き込み
x(92)、x(96)、x(100)、x(104)を読み出し
y(105)の信号を生成、f1(z−1)使用
y(107)の信号を生成、f3(z−1)使用

このような一連の動作で、倍音を生成することが出来る。
【0170】
ここで、サブフィルタの選択を時系列で見ると、生成する倍音次数とダウンサンプリング率(=アップサンプリング率)の関係に応じて、周期性が見られる。
例えば、倍音次数2、ダウンサンプリング率4の場合で考えると、サブフィルタの選択は、上記の例のように、サブフィルタ0、サブフィルタ2、サブフィルタ0、サブフィルタ2、・・・、あるいは、サブフィルタ1、サブフィルタ3、サブフィルタ1、サブフィルタ3というように変化する。
【0171】
この周期性を利用し、係数列選択の変化パターンをテーブル化しておいて、ゼロクロス点における繰り返し初回の係数列選択以降は、このテーブルを利用して係数列の選択を行うことで、係数列の選択に要するステップ数を削減することも可能である。
【0172】
なお、ここではダウンサンプリング率1/4で、第2倍音の生成の例を示したが、他のダウンサンプリング率、第k倍音の場合でも、同様の手続きで実行することが出来る。
【0173】
本実施の形態によれば、バッファメモリの容量の削減は実施の形態2と同様であることに加え、サブフィルタを用いることで、無駄な積和演算処理を省いたため、単位時間当たりの演算量の削減という意味で、より優れていることがわかる。
【0174】
なお、本発明の倍音生成装置は、ハードウェアとしても、コンピュータにおけるソフトウェアとしても適用可能である。
【0175】
(実施の形態4)
本発明の実施の形態4について、図面を参照しながら説明する。
【0176】
本実施の形態は、実施の形態1の倍音生成装置に関し、複数の倍音を生成するように拡張したものである。
【0177】
図18に示すように、バッファメモリ1804に書き込むまでは、全ての倍音生成において共通なので、ダウンサンプリング手段1802とバッファメモリ1804については共用化する。そして、生成する倍音毎に、ゼロクロス検出手段1803a〜1803c、アドレス管理手段1805a〜1805c、アップサンプリング手段1806a〜1806c、間引き手段1807a〜1807cを設け、それぞれ倍音生成を行えば良い。生成された各倍音について、振幅レベルが乗算器1809a〜1809cで調整され、加算器1810により加算された後に外部に出力される。
【0178】
なお、ゼロクロス点は、バッファメモリの入力側でも出力側でも、倍音の倍率には関係ない。したがって、ゼロクロス検出手段でゼロクロス点の検出を行う信号を、ダウンサンプリング手段1802の入力信号(図19)や出力信号、あるいはバッファメモリ1804に記憶されている信号とする場合には、ゼロクロス検出手段1803を共用化することも可能である。
【0179】
また、アップサンプリング手段1806a〜1806cの入力信号や出力信号、間引き手段1807a〜1807cの出力信号にてゼロクロス点を検出する場合には、最も倍音の次数が高いところにのみゼロクロス検出手段1803を設置することも可能である(図20)。最も倍音の倍率が高いところにした理由は、読み出しアドレスが最も早く次のゼロクロス点に到達するからである。
【0180】
以上、複数の倍音を生成する場合について説明した。なお、ここでは代表として、実施の形態1で示した倍音生成装置を拡張する場合について述べたが、実施の形態2、実施の形態3で示した倍音生成装置についても同様な考え方で拡張することができる。
【0181】
なお、本発明の倍音生成装置は、ハードウェアとしても、コンピュータにおけるソフトウェアとしても適用可能である。
【0182】
(実施の形態5)
本発明の実施の形態5について、図面を参照しながら説明する。
【0183】
本実施の形態は、実施の形態1で示した倍音生成装置に関し、帯域分割処理を行い、周波数帯域毎に倍音生成を行うように拡張したものである。
【0184】
このような場合には、図21に示すように、ダウンサンプリング手段2102の後に、帯域分割処理を行うための帯域通過フィルタ2112a〜2112cを新たに挿入する。そして、ゼロクロス検出手段2103a〜2103c、バッファメモリ2104a〜2104c、アドレス管理手段2105a〜2105c、アップサンプリング手段2106a〜2106c、間引き手段2107a〜2107cを周波数帯域毎に設ける。この構成により、周波数帯域毎に倍音生成を行う。
【0185】
そして、各周波数帯域で生成される倍音の振幅レベルは、乗算器2109a〜2109cで調整され、加算器2110により加算された後に外部に出力される。
【0186】
本実施の形態における倍音生成装置も、これまでの実施の形態と同様に、バッファメモリの容量を削減できるという効果を有する。
【0187】
これに加え、本実施の形態における倍音生成装置は、帯域分割処理を行う帯域通過フィルタの演算量削減という効果を有する。すなわち、各周波数帯域の成分を抽出するための帯域通過フィルタ2112a〜2112cを、低いサンプリング周波数で動作させるため、帯域通過フィルタのタップ数の削減、単位時間の処理サンプル数の削減ができ、それにより演算量(単位時間当たりの乗算回数)を削減することが可能となる。
【0188】
ダウンサンプリングしない場合と比べ、単位時間当たりの帯域通過フィルタの呼び出し回数が1/D(Dはダウンサンプリング率)になり、また帯域通過フィルタ2112a〜2112cのタップ数を1/D(FIRフィルタで構成した場合)まで削減できるため、全体で帯域通過フィルタ2112a〜2112cに要する単位時間当たりの演算量を1/Dにまで削減可能となる。すなわち、単位時間当たりの演算量の削減について、大きな効果を有していることがわかる。
【0189】
なお、ここでは代表として、実施の形態1で示した倍音生成装置を拡張する場合について述べたが、他の実施の形態で示した倍音生成装置についても同様な考え方で拡張可能である。
【0190】
なお、本発明の倍音生成装置は、ハードウェアとしても、コンピュータにおけるソフトウェアとしても適用可能である。
【0191】
(実施の形態6)
本実施の形態では、これまでに示した本発明における倍音生成装置を、バーチャルピッチ効果を利用して小型スピーカの低音感向上を図る音響信号処理装置に適用した場合について述べる。
【0192】
図22はこの音響信号処理装置のブロック線図である。本実施例における音響信号処理装置は、入力端子2218、ディレイ2213、低域通過フィルタ2214、高域通過フィルタ2215、倍音生成装置2216、加算器2217、出力端子2219により構成される。
【0193】
構成要素である倍音生成装置2216には、実施の形態1から5で示した、いずれかの倍音生成装置を用いる。
【0194】
次に、図22(a)で示される音響信号処理装置について、その動作を説明する。
【0195】
入力端子2218より入力された入力信号は、ディレイ2213と低域通過フィルタ2214にそれぞれ入力される。
【0196】
ディレイ2213は、倍音生成装置2216の処理に伴う遅延の分、入力信号を遅延させる。
【0197】
低域通過フィルタ2214は、入力信号から倍音生成の対象となる低域成分を抽出する。
【0198】
倍音生成装置2216では、低域通過フィルタ2214の出力に対し、倍音生成を行う。
【0199】
ディレイ2213の出力信号と倍音生成装置2216の出力信号は、加算器2217で加算される。加算器2217の出力信号は、高域通過フィルタ2215に入力され、そこで低域成分が減衰させられる。これにより、低域における過負荷を防止する。最後に高域通過フィルタ2215の出力信号は、出力端子2219を通じて外部に出力される。
【0200】
また、図22(b)、(c)に示すように、高域通過フィルタ2215を、ディレイ2213の前段、あるいは後段に配置する構成としてもよい。
【0201】
このように、実施の形態1から5で説明した本発明における倍音生成装置を、小型スピーカの低音感向上を図る音響信号処理装置に適用することが可能である。
【0202】
【発明の効果】
以上示したように、本発明によれば、ダウンサンプリングされた信号がバッファメモリに格納されるため、必要となるバッファメモリの容量を削減でき、その効果は大なるものである。
【図面の簡単な説明】
【図1】本発明の実施の形態1に係る倍音生成方法の第1のフロー図
【図2】ゼロクロス法に基づく倍音生成法の原理説明図
【図3】基本的な倍音生成装置のブロック線図
【図4】基本的な倍音生成装置の動作説明図
【図5】本発明の実施の形態1に係る倍音生成方法の第2のフロー図
【図6】本発明の実施の形態1に係る倍音生成装置の動作説明図
【図7】本発明の実施の形態1に係る倍音生成装置のブロック線図(1)
【図8】本発明の実施の形態1に係る倍音生成装置のブロック線図(2)
【図9】直線補間を用いたゼロクロス検出の説明図
【図10】アップサンプリング手段における入力と出力の具体例を示す図
【図11】本発明の実施の形態2に係る倍音生成方法のフロー図
【図12】本発明の実施の形態2に係る倍音生成装置の動作説明図
【図13】本発明の実施の形態2に係る倍音生成装置のブロック線図
【図14】第2倍音生成におけるアップサンプリング出力を表す図
【図15】第3倍音生成におけるアップサンプリング出力を表す図
【図16】本発明の実施の形態3に係る倍音生成装置のブロック線図
【図17】本発明の実施の形態3に係る倍音生成装置の詳細構成図
【図18】本発明の実施の形態4に係る倍音生成装置のブロック線図(1)
【図19】本発明の実施の形態4に係る倍音生成装置のブロック線図(2)
【図20】本発明の実施の形態4に係る倍音生成装置のブロック線図(3)
【図21】本発明の実施の形態5に係る倍音生成装置のブロック線図
【図22】本発明の実施の形態6に係る倍音生成装置のブロック線図
【図23】周波数変換の原理説明図
【図24】従来の周波数変換装置のブロック線図
【図25】ゼロクロス点に基づくアドレス再設定法の説明図
【符号の説明】
301,701,1301,1601,1801,2101,2218,2411 入力端子
702,1302,1602,1802,2102 ダウンサンプリング手段303,703,1303,1603,1803a〜1803c,2103a〜2103c ゼロクロス検出手段
304,704,1304,1604,1804,2104a〜2104c バッファメモリ
305,705,1305,1605,1805a〜1805c,2105a〜2105c アドレス管理手段
706,1306,1606,1806a〜1806c,2106a〜2106c アップサンプリング手段
707,1807a〜1807c,2107a〜2107c 間引き手段
308,708,1308,1608,1808,2108,2219,2418 出力端子
1611 サブフィルタ演算部
1612 サブフィルタ係数選択部
1809a〜1809c,2109a〜2109c 乗算器
1810,2110,2217,2417 加算器
2112a〜2112c 帯域通過フィルタ
2213 ディレイ
2214 低域通過フィルタ
2215 高域通過フィルタ
2216 倍音生成装置
2413 ゼロクロス検出回路
2414 RAM
2415 読み出しアドレスカウンタ
2416 書き込みアドレスカウンタ
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an overtone generation method and an overtone generation device that generate overtones related to bass components.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, for various purposes, various acoustic signal devices including a harmonic generation device that generates a frequency component that is an integral multiple of an original sound, that is, a harmonic are proposed.
[0003]
For example, there has been known an acoustic signal processing device that generates harmonics of a low-frequency component that cannot be generated by a small speaker, and that uses a virtual pitch effect to improve bass feeling.
[0004]
Various frequency converters for converting the frequency of the original sound are known in relation to the harmonic generation device. The generation of harmonics may be considered as limiting the frequency conversion rate in frequency conversion to an integral multiple of 2 or more.
[0005]
The frequency conversion is performed by a time axis compression operation. For example, as shown in FIG. 23, by reproducing a signal having a time length t1 (FIG. 23A) with a shorter time length t2, the frequency can be increased to (t1 / t2) times (FIG. 23). 23 (b)).
[0006]
FIG. 24 shows, as a conventional example, a block diagram of a frequency conversion device described in Patent Document 1. As shown in FIG.
[0007]
This frequency conversion device performs a time axis compression operation by controlling the reading and writing speeds of the RAM serving as a buffer memory, that is, by reading out signals from the RAM at a speed faster than writing to the RAM, This increases the frequency of the input signal. However, such an operation necessarily involves a change in the reproduction time. Usually, a change in the reproduction time is corrected by appropriately resetting the read address.
[0008]
In FIG. 24, a read address counter 2415 and a write address counter 2416 give an address for reading data from the RAM and an address for writing to the RAM, respectively, and control the update speed of the addresses.
[0009]
The zero-cross detection circuit 2413 detects a zero-cross point for the signal stored in the RAM. The result is reflected in the read address resetting operation described above.
[0010]
That is, as shown in FIG. 25 (a), the shift between the zero-cross point detected by the zero-cross detection circuit and the provisionally determined reset addresses A1 and B1 is calculated, and the reset addresses of the reset addresses A1 to A2 and B1 to B2 are calculated. Make corrections. Thereby, as shown in FIG. 25B, the signal connection at the time of resetting the address is smoothly performed.
[0011]
[Patent Document 1]
JP-A-60-35795
[0012]
[Problems to be solved by the invention]
As described in the background art, the conventional harmonic generation apparatus requires a buffer memory having a capacity enough to store signal data exceeding a zero-cross section for a target signal. However, since the low-frequency component to be processed by the present technology has a long wavelength, the zero-cross section also becomes long, and therefore, there is a problem that the capacity of the buffer memory becomes enormous and the cost increases.
[0013]
The present invention has been made in view of the above problems, and has as its object to provide a harmonic generation method and a harmonic generation apparatus in which the capacity of a buffer memory for temporarily storing a signal in a zero-cross section is reduced.
[0014]
[Means for Solving the Problems]
A first invention is a harmonic generation method for generating an overtone of an input signal,
After performing downsampling on the input signal, store it in the buffer memory,
Up-sampling is performed on the signal read from the buffer memory,
The oversampled signal is used to generate harmonics by performing a time axis compression operation or a thinning operation.
[0015]
Thus, the signal is stored in the buffer memory in a state of being down-sampled, so that the required capacity of the buffer memory can be reduced.
[0016]
A second invention is a harmonic generation method for generating an overtone whose frequency is k times (k is a natural number) with respect to an input signal,
After down-sampling the input signal, it is stored in a buffer memory at a write address update speed p (p is a natural number),
Overtones are generated by up-sampling a signal read from the buffer memory at a read address update rate of p × k at a rate of 1 sample out of k samples.
[0017]
Thus, the signal is stored in the buffer memory in a state of being down-sampled, so that the required capacity of the buffer memory can be reduced. In addition, by performing upsampling at a rate of one sample out of k samples, an unnecessary sample upsampling operation can be omitted, so that the amount of calculation can be reduced.
[0018]
A third invention is a harmonic generation device that generates an overtone of an input signal,
Downsampling means for performing a thinning process on the input signal,
Zero-crossing detection means for detecting a zero-crossing point for any given signal in the process of processing the signal sequence,
A buffer memory for storing an output signal of the downsampling means;
Address management means for setting a read address from the buffer memory based on information of the zero-cross point detected by the zero-cross detection means and an order of a generated harmonic;
Upsampling means for selecting a coefficient of a filter used in upsampling from information of a read address from the address management means and upsampling a signal with respect to an output signal from the buffer memory. It is.
[0019]
Thus, the signal is stored in the buffer memory in a state of being down-sampled, so that the required capacity of the buffer memory can be reduced.
[0020]
BEST MODE FOR CARRYING OUT THE INVENTION
First, the principle of a harmonic generation method in which the frequency conversion method described in the related art is improved for the purpose of generating harmonics, and a harmonic generation device to which the principle is applied will be described.
[0021]
First, the basic principle of frequency conversion of an integral multiple will be described with reference to FIG. An example of generating a harmonic of a sine wave as shown in FIG. The zero crossing point is defined as the point at which the signal changes from positive to negative or from negative to positive. For example, zero cross points from negative to positive are P1, P2, and P3. When generating the second harmonic, a section from a zero cross point from negative to positive to a next zero cross point from negative to positive (hereinafter, referred to as a zero cross section), a zero cross section P1-P2, a zero cross In the section P2-P3, the waveform is compressed to 1/2 in the time axis direction, and reproduced twice. As shown in FIG. 2B, the signal after this processing is a signal whose frequency is doubled.
[0022]
Similarly, the Nth overtone is generated by compressing it to 1 / N in the time axis direction and repeatedly playing back N times in the section of the zero cross point.
[0023]
FIG. 3 shows a block diagram of a basic harmonic generation device based on the above principle. The conventional harmonic generation device includes an input terminal 301 for receiving an input signal, a buffer memory 304 for temporarily storing a signal from the input terminal, a signal stored in the buffer memory 304, or an input or an output thereof, in which a zero cross point is set. A zero-cross detecting means 303 to be detected, an address managing means 305 for controlling a read address of a signal from the buffer memory 304 based on information from the zero-cross detecting means 303, and a signal read from the buffer memory 304, which is a target harmonic. Is constituted by an output terminal 308 for outputting this overtone to the outside.
[0024]
Here, the operation of the buffer memory 304 will be described with reference to FIG. Here, it is assumed that the order of the generated harmonic is 2 and one block is processed in units of 8 samples in the block processing.
[0025]
As shown in FIGS. 4A to 4B, the input signals are sequentially written in the buffer memory 304 in units of 8 samples, such as B1w, B2w, B3w,.
[0026]
On the other hand, as shown in FIG. 4 (b) to FIG. 4 (c), B1r, B2r, B3r,. In this way, the signal data read one sample at a time is output again as a signal of the original sampling frequency as shown in FIG. As a result, a signal whose frequency is doubled with respect to the input signal is obtained.
[0027]
The address management unit 305 controls a read address in the buffer memory 304. When the read address reaches the zero cross point address for the first time, the read address is returned to the previous zero cross point, and the address is updated again from there. In the second case, the read address is updated as it is without returning to the previous zero cross point. That is, it is repeated twice between adjacent zero-cross points.
[0028]
As can be seen from this operation, the update speed of the read address is twice the update speed of the write address. Therefore, it is necessary to provide a predetermined interval between the two addresses so that the read address does not overtake the write address.
[0029]
(Embodiment 1)
Hereinafter, Embodiment 1 of the present invention will be described with reference to the drawings.
[0030]
First, a harmonic generation method according to Embodiment 1 of the present invention will be described with reference to FIG. Here, the detection of the zero-cross point which is not directly related to the essence of the present invention and the accompanying address management operation are omitted.
[0031]
As shown in FIG. 1, the overtone generation method according to the present embodiment includes a processing step S11 of downsampling an input signal, a step S12 of storing the input signal after downsampling in a buffer memory, It comprises a step S13 for reading out signal data, a processing step S14 for up-sampling the read-out signal data, and a processing step S15 for performing a time axis compression operation on the up-sampled signal.
[0032]
Further, a harmonic generation method showing an example of time axis compression will be described with reference to FIG. Here, it is assumed that a harmonic having a frequency of k times is generated.
[0033]
A processing step S51 of performing downsampling on an input signal of length M, a step S52 of storing the input signal after downsampling in a buffer memory, a step S53 of reading out signal data from the buffer memory, And a processing step S54 for performing upsampling to generate a signal of length M × k, and a processing step S55 for performing a thinning operation such as extracting a signal at a rate of one sample among k samples.
[0034]
Next, a more detailed operation will be described with reference to FIGS. Here, as a numerical example, it is assumed that the downsampling rate in step S51 is 1/4 and the order of the overtone to be generated is 2. In addition, block processing is performed in which eight samples (M = 8) are processed collectively (at the time of an input signal) in one block.
[0035]
The input signal having a length of 8 samples is down-sampled to 1/4 in step S51 to become 2 samples (FIG. 6A), and stored in the buffer memory in step S52 as (B1w, B2w, B3w,...). (FIG. 6B).
[0036]
In step S53, four samples of signal data are read from the buffer memory as (B1w, B2w, B3w,...) (FIG. 6C). That is, the read address from the buffer memory is behind the write address to the buffer memory, and the address update speed per unit time is twice the write address.
[0037]
In step S54, quadrupled up-sampling is performed on the four-sample signal data (FIG. 6D). This includes filtering to remove imaging distortion.
[0038]
In step S55, one sample of two samples is extracted from the up-sampled signal data (FIG. 6E). That is, the output sample and the discarded sample alternate. As a result, the signal is returned to the original time length, and the actual time axis compression operation is performed to obtain a signal having the same length as the original signal and a frequency doubled (FIG. 6 (f)).
[0039]
According to the above harmonic generation method, since the downsampled data can be stored in the buffer memory in a state where the number of signal data is reduced, the capacity of the buffer memory can be reduced.
[0040]
A harmonic generation device applied as an apparatus based on the harmonic generation method described above will be described.
[0041]
FIG. 7 is a block diagram of the overtone generation device according to the first embodiment of the present invention. The harmonic generation device according to the first embodiment includes an input terminal 701, a downsampling unit 702, a zero-cross detection unit 703, a buffer memory 704, an address management unit 705, an upsampling unit 706, a thinning unit 707, and an output terminal 708. .
[0042]
The input terminal 701 is a terminal for receiving an input signal to the harmonic generation device.
[0043]
The down-sampling unit 702 filters the input signal from the input terminal 701 to limit the frequency band in order to prevent alias distortion, and thins out the signal at predetermined intervals. In other words, the sampling frequency of the signal is reduced. As a filter for performing the filtering performed here, an FIR filter or an IIR filter may be used.
[0044]
The buffer memory 704 temporarily stores the output signal of the downsampling unit 702 in the memory, and outputs the signal stored in the memory to the upsampling unit 706 according to an instruction of the address management unit 705.
[0045]
The zero cross detection means 703 detects the zero cross point of the output signal from the up-sampling means 706.
[0046]
The address management unit 705 obtains a read address of a signal from the buffer memory 704 based on information from the zero-cross detection unit 703, and controls an output read from the buffer memory 704.
[0047]
The upsampling unit 706 filters the signal from the buffer memory 704 to limit the frequency band in order to prevent the occurrence of distortion due to imaging, returns the signal to the original sampling frequency, and further increases the signal length by k times ( k is the order of the overtone to be generated). As a filter for performing the filtering performed here, an FIR filter or an IIR filter may be used. The same filter as that used in the downsampling unit 702 may be used.
[0048]
The decimation unit 707 extracts a signal from the output from the up-sampling unit 706 once every k samples, performs time axis compression to increase the frequency by k times, and restores the length of the signal to the original value. It is.
[0049]
The output terminal 708 outputs an output signal from the thinning means 707 to the outside.
[0050]
Next, a more detailed operation will be described with reference to FIG. Here, as a numerical example, it is assumed that the downsampling rate in the downsampling unit 702 is 1/4 and the order of the overtone to be generated is 2. In addition, block processing is performed in which eight samples (at the time of input by the down-sampling unit 702) are processed in one block. Further, the zero-crossing detecting unit 703 performs a zero-crossing determination on the output of the up-sampling unit 706.
[0051]
The signal from the input terminal 701 is down-sampled to 1/4 by the down-sampling means 702 (FIG. 6A) and stored in the buffer memory 704 (FIG. 6B). If the input signal is 8 samples long, only 1/4 of them, 2 samples, is transferred to the buffer memory 704.
[0052]
The zero-crossing detecting means 703 detects a zero-crossing point from the output of the up-sampling means 706 and transmits it to the address managing means 705.
[0053]
The address management unit 705 calculates a read address from the buffer memory 704 based on the received information of the zero cross point. The read address from the buffer memory 704 is later than the write address to the buffer memory 704. The address update speed per unit time is twice as fast as the write address. That is, every time two samples are written into the buffer memory 704 (B1w, B2w, B3w,...), Four samples of signal data are read from the buffer memory 704 (B1r, B2r, B3r,...). (FIG. 6C).
[0054]
When the read address reaches the zero cross point, the read address returns to the previous read address at the zero cross point, and the address is updated again from there. That is, the zero cross section is repeated twice.
[0055]
The upsampling unit 706 performs quadruple upsampling on the output (FIG. 6C) from the buffer memory 704 (FIG. 6D). This includes filtering to remove imaging distortion.
[0056]
Here, the signal data read from the buffer memory 704 and filtered by the upsampling unit 706 will be briefly commented. In order for the upsampling unit 706 to perform filtering, past signal data based on the filter order is required. There are the following three methods for this.
[0057]
Method 1
The read address to the buffer memory 704 indicates the start (or end) address of the signal data, and then the continuous signal data is transferred from the buffer memory 704 by the amount (α) necessary for the filtering in the upsampling unit 706. read out.
[0058]
Method 2
Only new signal data is read from the buffer memory 704, and the other past signal data uses the signal data recorded by the upsampling unit 706. That is, the up-sampling unit 706 also includes a unit that retains past signal data.
[0059]
Method 3
It is an eclectic system of systems 1 and 2. The past filter output signal data accompanying the filtering is held in the up-sampling unit 706, and all the input signal data to the filter is supplied from the buffer memory 704.
[0060]
The decimation unit 707 extracts one sample out of two samples from the output of the upsampling unit 706 (FIG. 6D) (FIG. 6E). That is, the output sample and the discarded sample alternate. As a result, the signal is returned to the original time length, and a time axis compression operation is actually performed to obtain a signal having the same length as the original signal and a frequency doubled (FIG. 6 (f)).
[0061]
Here, the output of the up-sampling unit 706 is used as the signal for detecting the zero-cross point in the zero-crossing detecting unit 703. However, as shown in FIG. , A signal from which a zero-cross point should be detected. In this case, the time of the zero crossing point at the output of the upsampling unit 706 may be adjusted in consideration of the delay in the processing of the downsampling unit 702, the buffer memory 704, and the upsampling unit 706 in advance.
[0062]
Further, although the time resolution is inferior, it is also possible to detect the zero-cross point by the output of the thinning means 707. A block diagram in that case is shown in FIG.
[0063]
Further, as shown in FIGS. 8C, 8D, and 8E, the input, output, or recorded signal data of the buffer memory 704 may be used as a signal for detecting a zero-cross point. . Also in this case, it is necessary to consider the delay in the processing of the buffer memory 704 and the upsampling unit 706 in advance, and adjust the time to the zero-cross point time at the output of the upsampling unit 706.
[0064]
In each of the configurations shown in FIGS. 8C, 8D, and 8E, since the down-sampled signal data is used, the zero-cross point is detected with a large time resolution.
[0065]
In order to avoid this, for example, a method is considered in which the time resolution in detecting the zero-cross point is made fine using linear interpolation. This will be described with reference to FIG.
[0066]
In the case where a zero cross point is not included as in x (40), x (44), and x (52), it may be left as it is.
[0067]
When a zero crossing point is detected as in x (48), a straight line is connected to the previous down-sampled sample x (44), and the samples x (45), x inserted on the straight line are connected. When the zero cross point is detected including (46) and x (47), the time resolution of the detection can be improved.
[0068]
Various other modifications are conceivable for the method of detecting a zero cross, but any method may be used since the present invention does not depend on the method of detecting a zero cross.
[0069]
According to the present embodiment, the signal data stored in buffer memory 704 is reduced by 1 / of the original signal data, that is, by the downsampling rate of downsampling means 702. Therefore, the capacity of the buffer memory 704 is only required to be 1/4, which indicates that the buffer memory 704 has a great effect in reducing the capacity of the buffer memory.
[0070]
The above operation will be described with a specific example. Here, a signal including the zero cross points y (41) and y (104) shown in FIG. 10 will be considered as an example. The downsampling rate is 1/4, and the second harmonic is produced. As a filter for removing imaging distortion at the time of upsampling, the following 16-tap FIR filter F (z−1) Shall be used.
[0071]
F (z-1) = F (0) + f (1) z-1+ F (2) z-2+ ・ ・ + F (15) z-Fifteen
In this example, it is assumed that the overtone y (n) is obtained at each time t. The values of x (4m + 1), x (4m + 2), and x (4m + 3) (m is a natural number) do not exist in the buffer memory, and may be calculated assuming that the value is 0. The multiplication of the value 0 can be omitted.
[0072]
Hereinafter, up to the point where the zero cross section is repeated twice is listed.
[0073]
t = 0, t = 1:
The down-sampled signal is written as x (80).
[0074]
Read x (28), x (32), x (36), x (40)
Generate signals y (40), y (41), y (42), y (43).
[0075]
Finally, y (40) and y (42) are output.
[0076]
t = 2, t = 3:
Read x (32), x (36), x (40), x (44)
Generate signals y (44), y (45), y (46), y (47).
[0077]
Finally, y (44) and y (46) are output.
[0078]
t = 4, t = 6:
Write as a signal x (84) after downsampling.
[0079]
Read x (36), x (40), x (44), x (48)
Generate y (48), y (49), y (50), y (51) signals.
[0080]
Finally, y (48) and y (50) are output.
[0081]

t = 30, t = 31:
Read x (88), x (92), x (96), x (100)
Generate y (100), y (101), y (102), y (103) signals.
[0082]
Finally, y (100) and y (102) are output.
[0083]
t = 32, t = 33:
Write down-sampled signal as x (112)
Read x (28), x (32), x (36), x (40)
Generate signals y (40), y (41), y (42), y (43).
[0084]
Finally, y (41) and y (43) are output.
[0085]
t = 34, t = 35:
Read x (32), x (36), x (40), x (44)
Generate signals y (44), y (45), y (46), y (47).
[0086]
Finally, y (45) and y (47) are output.
[0087]

t = 62, t = 63:
Read x (88), x (92), x (96), x (100)
Generate signals y (100), y (101), y (102), y (103).
[0088]
Finally, y (101) and y (103) are output.
[0089]
t = 64, t = 65:
Write down-sampled signal as x (144)
Read x (92), x (96), x (100), x (104)
Generate signals y (104), y (105), y (106), y (107).
[0090]
Finally, y (105) and y (107) are output.
[0091]

Overtones can be generated by such a series of operations.
[0092]
The harmonic generation device of the present invention can be applied as hardware or software in a computer.
[0093]
(Embodiment 2)
Hereinafter, a second embodiment of the present invention will be described with reference to the drawings.
[0094]
First, a harmonic generation method according to Embodiment 2 of the present invention will be described with reference to FIG. Here, it is assumed that a harmonic having a frequency of k times is generated, and the detection of a zero-cross point which is not directly related to the essence of the present invention and the accompanying address management operation are omitted.
[0095]
As shown in FIG. 11, the overtone generation method according to the present embodiment includes a processing step S111 of downsampling an input signal, and a step S112 of storing the input signal after downsampling in a buffer memory at a writing speed p. A step S113 of reading signal data from the buffer memory at a reading speed p × k, and a processing step S114 of upsampling the read signal data at a rate of one sample out of k samples to generate harmonics. .
[0096]
Next, a more detailed operation will be described with reference to FIGS. Here, as a numerical example, it is assumed that the downsampling rate in step S1 is 1/4 and the order of the generated harmonic is 2. In addition, block processing is performed in which eight samples (M = 8) are processed collectively (at the time of an input signal) in one block.
[0097]
The input signal having a length of 8 samples is down-sampled to 1/4 in step S111 to be 2 samples (FIG. 12A), and stored in the buffer memory in step S112 as (B1w, B2w, B3w,...). (FIG. 12B).
[0098]
In step S113, four samples of signal data are read from the buffer memory as (B1w, B2w, B3w,...) (FIG. 12C). That is, the read address from the buffer memory is behind the write address to the buffer memory, and the address update speed per unit time is twice the write address.
[0099]
In step S114, quadrupled up-sampling is performed on the four-sample signal data (FIG. 12D). This includes filtering to remove imaging distortion. Here, it is assumed that only one of the two samples is up-sampled. In other words, the upsampling operation is performed only for 8 samples, where 16 samples are obtained if all are upsampled. These 8 samples become the second harmonic of the same length 8 as the input signal.
[0100]
According to the above harmonic generation method, as in the first embodiment, the effect of reducing the capacity of the buffer memory is obtained, and in the first embodiment, the data discarded by the thinning means is not calculated in advance, so that the amount of calculation is It also has the effect of reducing.
[0101]
A harmonic generation device applied as an apparatus based on the harmonic generation method described above will be described. FIG. 13 is a block diagram of a harmonic generation device according to Embodiment 2 of the present invention.
[0102]
The harmonic generation device according to the second embodiment includes an input terminal 1301, a downsampling unit 1302, a zero-cross detection unit 1303, a buffer memory 1304, an address management unit 1305, an upsampling unit 1306, and an output terminal 1308.
[0103]
The input terminal 1301 is a terminal that receives an input signal to the harmonic generation device.
[0104]
The downsampling means 1302 performs filtering for limiting the frequency band to the input signal from the input terminal 1301 in order to prevent the occurrence of alias distortion, and thins out the signal at predetermined sampling intervals. In other words, the sampling frequency of the signal is reduced. As a filter for performing the filtering performed here, an FIR filter or an IIR filter may be used.
[0105]
The buffer memory 1304 temporarily stores the output signal of the downsampling unit 1302 in the memory, and outputs the signal stored in the memory to the upsampling unit 1306 in accordance with an instruction from the address management unit 1305.
[0106]
The zero-crossing detecting unit 1303 detects the zero-crossing of the signal stored in the buffer memory 1304, the input signal to the buffer memory 1304, the output signal from the buffer memory 1304, or the output signal from the up-sampling unit 1306. This is to detect points. Since this is the same as that described in Embodiment 1, only the case where the output signal from the upsampling unit 1306 is targeted will be described.
[0107]
The address management unit 1305 obtains a read address of a signal from the buffer memory 1304 based on information from the zero-cross detection unit 1303, and controls an output read from the buffer memory 1304.
[0108]
The up-sampling unit 1306 filters the signal from the buffer memory 1304 to limit the frequency band in order to prevent distortion due to imaging, restores the original sampling frequency, and further increases the frequency by k times. is there. Here, an FIR filter is used.
[0109]
The output terminal 1308 outputs an output signal from the upsampling unit 16 to the outside.
[0110]
Next, a more detailed operation will be described with reference to FIG. Here, as a numerical example, as in the first embodiment, it is assumed that the downsampling rate in the downsampling unit 1302 is 4, and the order of the generated harmonic is 2. In addition, block processing is performed in which one block collectively processes eight samples (at the time of input by the downsampling unit 1302).
[0111]
The zero-cross detecting means 1303 performs a zero-crossing determination on the output of the up-sampling means 1306.
[0112]
The signal from the input terminal 1301 is down-sampled to 1/4 by the down-sampling means 1302 (FIG. 12A) and stored in the buffer memory 1304 (FIG. 12B). If the input signal is 8 samples long, only 1/4 of the 2 samples are transferred to the buffer memory 1304.
[0113]
The zero-cross detecting means 1303 detects a zero-crossing point from the output of the up-sampling means 1306 and transmits it to the address managing means 1305.
[0114]
The address management unit 1305 calculates a read address from the buffer memory 1304 based on the received information of the zero cross point. The read address from the buffer memory 1304 is behind the write address to the buffer memory 1304. The address update speed per unit time is twice as fast as the write address. That is, every time two samples are written to the buffer memory 1304 (B1w, B2w, B3w,...), Four samples of signal data are read from the buffer memory 1304 (B1r, B2r, B3r,...). (FIG. 12C).
[0115]
The operation up to this point is the same as in the first embodiment. In this embodiment, there is no thinning means, and the function of the upsampling means 1306 also serves as the function.
[0116]
The upsampling unit 1306 performs quadrupling upsampling on the output from the buffer memory 1304. In the first embodiment, however, it is important that data to be decimated by the decimating unit is not generated at this time. It is a feature.
[0117]
For this purpose, the upsampling unit 1306 obtains only every two samples by filtering (FIG. 12D).
[0118]
As a result, if the output from the buffer memory 1304 is signal data of 4 samples, the signal data should be 4 times the signal data of 16 samples. Is generated. This is a practical time axis compression operation, and a signal (FIG. 12 (e)) having the same length as the original signal and a frequency doubled is obtained.
[0119]
In this embodiment, as in the first embodiment, when the read address reaches the zero cross point, the read address is reset to the previous zero cross point. Then, a second round of up-sampling processing is performed from the zero cross point.
[0120]
Here, the sample to be obtained in the second round differs depending on the length of the zero cross section, that is, whether the number of samples is even or odd. This will be described with reference to FIG. As shown in FIG. 14A, if the length of the zero cross section is an even number, the same signal data as in the first cycle may be obtained. When the length of the zero cross section is an odd number as shown in FIG. 14B, signal data of a sample not obtained in the first round may be obtained. That is, the sample obtained in the first round is not obtained in the second round.
[0121]
In this way, the number of samples of the input signal and the output signal can be kept constant, and harmonics with little distortion can be generated.
[0122]
The method for obtaining the second overtone has been described above, but the third overtone can be generated by the same operation.
[0123]
For example, consider a case where a third harmonic is generated. The upsampling unit 1306 may obtain signal data by filter processing every three samples. In this case, the zero cross section is divided into three cases of 3n, 3n + 1, and 3n + 2 (n is a natural number). This will be described with reference to FIG.
[0124]
(A) When the zero cross section is 3n FIG.
The same signal data is obtained for all of the first, second, and third rounds.
[0125]
(B) When the zero cross section is 3n + 1 FIG. 15 (b)
The signal data obtained in the second cycle is signal data one sample past the sample in the first cycle. The signal data obtained in the third round is the signal data one sample before the sample in the second round.
[0126]
(C) When the zero cross section is 3n + 2 FIG. 15 (c)
The signal data obtained in the second round is signal data one sample future from the sample in the first round. The signal data obtained in the third round becomes signal data one sample future from the sample in the second round.
[0127]
Next, the operation will be described with a specific example. Here, as in the first embodiment, a signal including zero cross points y (41) and y (104) shown in FIG. 10 will be considered as an example. Hereinafter, as in the first embodiment, the downsampling rate is 1/4, the second harmonic is generated, and the following 16-tap FIR filter F (z) is used as a filter for removing imaging distortion at the time of upsampling. ―1) Shall be used.
[0128]
F (z-1) = F (0) + f (1) z-1+ F (2) z-2+ ・ ・ + F (15) z-Fifteen
In this example, it is assumed that the overtone y (n) is obtained at each time t. The values of x (4m + 1), x (4m + 2), and x (4m + 3) (m is a natural number) do not exist in the buffer memory, and may be calculated assuming that the value is 0. The multiplication of the value 0 can be omitted.
[0129]
Hereinafter, up to the point where the zero cross section is repeated twice is listed.
[0130]
t = 0, t = 1:
The down-sampled signal is written as x (80).
[0131]
Read x (28), x (32), x (36), x (40)
Generate and output signals y (40) and y (42).
[0132]
t = 2, t = 3:
Read x (32), x (36), x (40), x (44)
Generate and output signals of y (44) and y (46).
[0133]
t = 4, t = 6:
Write as a signal x (84) after downsampling.
[0134]
Read x (36), x (40), x (44), x (48)
Generate and output y (48) and y (50) signals.
[0135]

t = 30, t = 31:
Read x (88), x (92), x (96), x (100)
Generate and output signals of y (100) and y (102).
[0136]
t = 32, t = 33:
Write down-sampled signal as x (112)
Read x (28), x (32), x (36), x (40)
Generate and output signals y (40) and y (42).
[0137]
Finally, y (41) and y (43) are output.
[0138]
t = 34, t = 35:
Read x (32), x (36), x (40), x (44)
Generate and output signals of y (44) and y (46).
[0139]

t = 62, t = 63:
Read x (88), x (92), x (96), x (100)
Generate and output signals of y (100) and y (102).
[0140]
t = 64, t = 65:
Write down-sampled signal as x (144)
Read x (92), x (96), x (100), x (104)
Generate and output y (104) and y (106) signals.
[0141]

Overtones can be generated by such a series of operations.
[0142]
According to the present embodiment, the effect of reducing the capacity of the buffer memory is the same as that of the first embodiment. However, since signal data that is known to be thinned out in advance is not obtained from the beginning, the amount of calculation is reduced. It turns out that it is better in meaning.
[0143]
The harmonic generation device of the present invention can be applied as hardware or software in a computer.
[0144]
(Embodiment 3)
Hereinafter, a third embodiment of the present invention will be described with reference to the drawings.
[0145]
FIG. 16 is a block diagram of a harmonic generation device according to Embodiment 3 of the present invention. In this embodiment, the upsampling unit described in the second embodiment performs processing more efficiently.
[0146]
The harmonic generation device according to the third embodiment includes an input terminal 1601, a downsampling unit 1602, a zero-cross detection unit 1603, a buffer memory 1604, an address management unit 1605, an upsampling unit 1606, and an output terminal 1608. Further, the up-sampling unit 1606 includes a sub-filter operation unit 1611 and a sub-filter coefficient selection unit 1612.
[0147]
Since the entire operation is almost the same as that of the second embodiment, the description of the overlapping portions will be omitted, and the operation of the upsampling unit 1606 and the address management unit 1605, which are the features of the present embodiment, will be mainly described.
[0148]
The address management unit 1605 obtains a read address of a signal from the buffer memory 1604 based on information from the zero-cross detection unit 1603, and controls an output read from the buffer memory 1604. Further, information for designating a sub-filter to be selected is transmitted to sub-filter coefficient selecting section 1612.
[0149]
The sub-filter coefficient selection unit 1612 receives the sub-filter selection information from the address management unit 1605, selects a corresponding sub-filter coefficient sequence, and sends the coefficient sequence to the sub-filter operation unit 1611.
[0150]
The sub-filter operation unit 1611 performs sub-filter processing (product-sum operation) on the coefficient sequence of the sub-filter selected by the sub-filter coefficient selection unit 1611 and the signal read from the buffer memory 1604.
[0151]
FIG. 17 shows the address management unit 1605 and the upsampling unit 1606 more specifically in the overall configuration of the overtone generation device of FIG.
[0152]
The address management unit 1605 increases the address by an order (for example, 2) corresponding to the generated harmonic using a register and an adder provided inside.
[0153]
As a result, the sample is up-sampled every second time, so that the up-sampling process for unnecessary samples as described in the second embodiment can be omitted.
[0154]
Here, when the zero-cross point is reached from the zero-cross point information from the zero-cross detection means 1604, the read address is reset to the previous zero-cross point or a position advanced by several samples from the previous zero-cross point.
[0155]
The lower bits of the address calculated by the address management unit 1605 are sent to the sub-filter coefficient selection unit 1612 as sub-filter selection information.
[0156]
The upper bits of the address calculated by the address management unit 1605 are sent to the buffer memory 1604 as information for reading a data string.
[0157]
Sub-filter coefficient selection section 1612 selects a corresponding sub-filter coefficient sequence based on the transmitted lower bit information.
[0158]
The buffer memory 1604 sends four continuous data strings to the sub-filter operation unit 1611 based on the upper bit information of the read address sent from the address management unit 1605.
[0159]
The sub-filter operation unit 1611 performs a product-sum operation on the coefficient sequence of the sub-filter selected by the sub-filter coefficient selection unit 1612 and the signal read from the buffer memory 1604, and outputs the result to the outside.
[0160]
Here, the principle of upsampling using sub-filter processing will be described. As a numerical example, the number of taps of the FIR filter is 16, and the downsampling rate is 1/4 (upsampling rate 4). A signal taken out from the buffer memory is x (4m), and an up-sampling output is y (n).
[0161]
First, the following FIR filter is taken up.
[0162]
F (z-1) = F (0) + f (1) z-1+ F (2) z-2+ ・ ・ + F (15) z-Fifteen
The FIR filter is divided into four sub-filters.
[0163]
f0 (z-1)
= F (0) + f (4) z-4+ F (8) z-8+ F (12) z-12
f1 (z-1)
= [F (1) + f (5) z-4+ F (9) z-8+ F (13) z-12] Z-1
f2 (z-1)
= [F (2) + f (6) z-4+ F (10) z-8+ F (14) z-12] Z-2
f3 (z-1)
= [F (3) + f (7) z-4+ F (11) z-8+ F (15) z-12] Z-3
Therefore, the up-sampling signal y (n) is obtained by determining to which of the following four sequences the time n belongs, and performing a corresponding sub-filter process.
[0164]
(A) n = 4m series
y (n) = f (0) x (4m) + f (4) x (4m-4)
+ F (8) x (4m-8)
(B) Series of n = 4m + 1
y (n) = f (1) x (4m) + f (5) x (4m-4)
+ F (9) x (4m-8)
(C) Series of n = 4m + 2
y (n) = f (2) x (4m) + f (6) x (4m-4)
+ F (10) x (4m-8)
(D) Series of n = 4m + 3
y (n) = f (3) x (4m) + f (7) x (4m-4)
+ F (11) x (4m-8)
Here, the determination of the sub-filter can be performed based on information from the least significant bit to the least significant two bits when n is represented in bits (binary number representation). This corresponds to information (n−4m) of lower 2 bits from n least significant bits.
[0165]
This operation will be described with a more specific example.
[0166]
Consider obtaining the overtone y (n) at each time t. Consider an example in which the downsampling rate is 1/4 and the second harmonic is generated. It is also assumed that the zero cross points are at y (41) and y (104).
[0167]
First, the signal data x (4m) is read from the buffer memory 14 based on the upper bits (= 4m) of n. Also, based on the lower bits (= n−4m) of n, the sub-filter f0 (z-1) To f3 (z-1) Is selected, and the product-sum operation is executed by the filter operation means.
[0168]
The above operations are listed up to the point where the zero cross section is repeated twice.
[0169]
t = 0, t = 1:
Write down-sampled signal as x (80)
Read x (28), x (32), x (36), x (40)
Generate a signal of y (40), f0 (z-1)use
Generate a signal of y (42), f2 (z-1)use
t = 2, t = 3:
Read x (32), x (36), x (40), x (44)
Generate a signal of y (44), f0 (z-1)use
Generate a signal of y (46), f2 (z-1)use
t = 4, t = 5:
Write down-sampled signal as x (84)
Read x (36), x (40), x (44), x (48)
Generate a signal of y (48), f0 (z-1)use
Generate a signal of y (50), f2 (z-1)use

t = 30, t = 31:
Read x (88), x (92), x (96), x (100)
Generate a signal of y (100), f0 (z-1)use
Generate a signal of y (102), f2 (z-1)use
t = 32, t = 33:
Write down-sampled signal as x (112)
Read x (28), x (32), x (36), x (40)
Generate a signal of y (41), f1 (z-1)use
Generate a signal of y (43), f3 (z-1)use
t = 34, t = 35:
Read x (32), x (36), x (40), x (44)
Generate a signal of y (45), f1 (z-1)use
Generate a signal of y (47), f3 (z-1)use

t = 62, t = 63:
Read x (88), x (92), x (96), x (100)
Generate a signal of y (101), f1 (z-1)use
Generate a signal of y (103), f3 (z-1)use
t = 64, t = 65:
Write down-sampled signal as x (144)
Read x (92), x (96), x (100), x (104)
Generate a signal of y (105), f1 (z-1)use
Generate a signal of y (107), f3 (z-1)use

Overtones can be generated by such a series of operations.
[0170]
Here, when the selection of the sub-filter is viewed in time series, periodicity is seen according to the relationship between the generated harmonic order and the downsampling rate (= upsampling rate).
For example, considering the case where the harmonic order is 2 and the downsampling rate is 4, the selection of the sub-filter is performed as in the above-described example. , Subfilter 1, subfilter 3, subfilter 1, subfilter 3, and so on.
[0171]
Using this periodicity, the change pattern of the coefficient sequence selection is tabulated, and after the first iteration of the coefficient sequence selection at the zero crossing point, the coefficient sequence is selected using this table, so that the coefficient sequence is selected. It is also possible to reduce the number of steps required for selection.
[0172]
Here, an example of generating the second overtone at a downsampling rate of 1/4 has been described. However, the same procedure can be performed for other downsampling rates and kth overtones.
[0173]
According to the present embodiment, the reduction of the capacity of the buffer memory is the same as that of the second embodiment, and the use of a sub-filter eliminates unnecessary product-sum operation processing. It turns out that it is better in terms of reducing the amount.
[0174]
The harmonic generation device of the present invention can be applied as hardware or software in a computer.
[0175]
(Embodiment 4)
Embodiment 4 of the present invention will be described with reference to the drawings.
[0176]
The present embodiment relates to the harmonic generation device of the first embodiment and is extended to generate a plurality of harmonics.
[0177]
As shown in FIG. 18, the downsampling means 1802 and the buffer memory 1804 are shared since all overtone generations are common until they are written to the buffer memory 1804. Then, a zero-cross detecting means 1803a to 1803c, an address managing means 1805a to 1805c, an up-sampling means 1806a to 1806c, and a thinning-out means 1807a to 1807c are provided for each harmonic to be generated, and harmonics may be generated respectively. For each of the generated harmonics, the amplitude level is adjusted by multipliers 1809a to 1809c, added by an adder 1810, and output to the outside.
[0178]
It should be noted that the zero-crossing point has nothing to do with the overtone magnification on the input side or output side of the buffer memory. Therefore, when the signal for detecting the zero-cross point by the zero-cross detecting means is an input signal (FIG. 19) or an output signal of the downsampling means 1802 or a signal stored in the buffer memory 1804, the zero-cross detecting means 1803 Can also be shared.
[0179]
When the zero-cross point is detected by the input signals and output signals of the up-sampling units 1806a to 1806c and the output signals of the thinning units 1807a to 1807c, the zero-cross detection unit 1803 is installed only at the place where the harmonic has the highest degree. It is also possible (FIG. 20). The reason why the magnification of the overtone is set to be the highest is that the read address reaches the next zero cross point earliest.
[0180]
The case where a plurality of harmonics are generated has been described above. Here, as an example, the case where the harmonic generation device shown in Embodiment 1 is extended has been described. However, the harmonic generation device shown in Embodiments 2 and 3 may be extended in the same way. Can be.
[0181]
The harmonic generation device of the present invention can be applied as hardware or software in a computer.
[0182]
(Embodiment 5)
Embodiment 5 of the present invention will be described with reference to the drawings.
[0183]
The present embodiment is an extension of the overtone generation device shown in the first embodiment so as to perform band division processing and generate overtones for each frequency band.
[0184]
In such a case, as shown in FIG. 21, after the downsampling unit 2102, band pass filters 2112a to 2112c for performing band division processing are newly inserted. Then, zero-cross detection units 2103a to 2103c, buffer memories 2104a to 2104c, address management units 2105a to 2105c, upsampling units 2106a to 2106c, and thinning units 2107a to 2107c are provided for each frequency band. With this configuration, harmonic generation is performed for each frequency band.
[0185]
Then, the amplitude levels of the harmonics generated in each frequency band are adjusted by multipliers 2109a to 2109c, added by adder 2110, and output to the outside.
[0186]
The harmonic generation device according to the present embodiment also has an effect that the capacity of the buffer memory can be reduced as in the previous embodiments.
[0187]
In addition, the harmonic generation device according to the present embodiment has an effect of reducing the amount of calculation of the band-pass filter that performs the band division processing. That is, since the band-pass filters 2112a to 2112c for extracting the components of each frequency band are operated at a low sampling frequency, the number of taps of the band-pass filter can be reduced and the number of samples processed per unit time can be reduced. The amount of calculation (the number of multiplications per unit time) can be reduced.
[0188]
Compared to the case without downsampling, the number of times the bandpass filter is called per unit time is 1 / D (D is the downsampling rate), and the number of taps of the bandpass filters 2112a to 2112c is 1 / D (configured by an FIR filter ), The total amount of computation per unit time required for the bandpass filters 2112a to 2112c can be reduced to 1 / D2Can be reduced to That is, it can be seen that there is a great effect in reducing the amount of calculation per unit time.
[0189]
Here, as an example, the case where the harmonic generation device described in the first embodiment is extended has been described. However, the harmonic generation device described in the other embodiments can be extended based on the same concept.
[0190]
The harmonic generation device of the present invention can be applied as hardware or software in a computer.
[0191]
(Embodiment 6)
In the present embodiment, a case will be described in which the overtone generation device according to the present invention described so far is applied to an acoustic signal processing device that improves the low-pitched sound of a small loudspeaker using the virtual pitch effect.
[0192]
FIG. 22 is a block diagram of the acoustic signal processing device. The acoustic signal processing device according to the present embodiment includes an input terminal 2218, a delay 2213, a low-pass filter 2214, a high-pass filter 2215, a harmonic generation device 2216, an adder 2217, and an output terminal 2219.
[0193]
Any of the harmonic generation devices described in Embodiments 1 to 5 is used as the harmonic generation device 2216 as a component.
[0194]
Next, the operation of the acoustic signal processing device shown in FIG.
[0195]
The input signal input from the input terminal 2218 is input to the delay 2213 and the low-pass filter 2214, respectively.
[0196]
The delay 2213 delays the input signal by the delay caused by the processing of the harmonic generation device 2216.
[0197]
The low-pass filter 2214 extracts a low-frequency component from which an overtone is to be generated from the input signal.
[0198]
The harmonic generation device 2216 generates harmonics for the output of the low-pass filter 2214.
[0199]
The output signal of the delay 2213 and the output signal of the harmonic generation device 2216 are added by the adder 2217. The output signal of the adder 2217 is input to the high-pass filter 2215, where the low-frequency component is attenuated. This prevents overload in low frequencies. Finally, the output signal of the high-pass filter 2215 is output to the outside through the output terminal 2219.
[0200]
Further, as shown in FIGS. 22B and 22C, the high-pass filter 2215 may be arranged before or after the delay 2213.
[0201]
As described above, the overtone generation device according to the present invention described in Embodiments 1 to 5 can be applied to an acoustic signal processing device for improving the bass feeling of a small speaker.
[0202]
【The invention's effect】
As described above, according to the present invention, the down-sampled signal is stored in the buffer memory, so that the required capacity of the buffer memory can be reduced, and the effect is great.
[Brief description of the drawings]
FIG. 1 is a first flowchart of a harmonic generation method according to Embodiment 1 of the present invention;
FIG. 2 is a diagram illustrating the principle of a harmonic generation method based on a zero-cross method.
FIG. 3 is a block diagram of a basic harmonic generation device.
FIG. 4 is a diagram illustrating the operation of a basic harmonic generation device.
FIG. 5 is a second flowchart of the harmonic generation method according to the first embodiment of the present invention;
FIG. 6 is an operation explanatory diagram of the overtone generation device according to the first embodiment of the present invention;
FIG. 7 is a block diagram (1) of a harmonic generation device according to the first embodiment of the present invention;
FIG. 8 is a block diagram (2) of the harmonic generation device according to the first embodiment of the present invention.
FIG. 9 is an explanatory diagram of zero cross detection using linear interpolation.
FIG. 10 is a diagram showing a specific example of input and output in the upsampling means.
FIG. 11 is a flowchart of an overtone generation method according to the second embodiment of the present invention.
FIG. 12 is an explanatory diagram of an operation of the harmonic generation device according to the second embodiment of the present invention;
FIG. 13 is a block diagram of a harmonic generation device according to a second embodiment of the present invention.
FIG. 14 is a diagram illustrating an up-sampling output in second harmonic generation.
FIG. 15 is a diagram showing an up-sampling output in third harmonic generation.
FIG. 16 is a block diagram of a harmonic generation device according to a third embodiment of the present invention.
FIG. 17 is a detailed configuration diagram of a harmonic generation device according to Embodiment 3 of the present invention.
FIG. 18 is a block diagram (1) of a harmonic generation device according to Embodiment 4 of the present invention.
FIG. 19 is a block diagram (2) of a harmonic generation device according to a fourth embodiment of the present invention.
FIG. 20 is a block diagram (3) of an overtone generation device according to Embodiment 4 of the present invention;
FIG. 21 is a block diagram of a harmonic generation device according to a fifth embodiment of the present invention.
FIG. 22 is a block diagram of a harmonic generation device according to a sixth embodiment of the present invention.
FIG. 23 is a diagram illustrating the principle of frequency conversion.
FIG. 24 is a block diagram of a conventional frequency converter.
FIG. 25 is an explanatory diagram of an address resetting method based on a zero-cross point.
[Explanation of symbols]
301, 701, 1301, 1601, 1801, 101, 2218, 2411 Input terminals
702, 1302, 1602, 1802, 2102 Down sampling means 303, 703, 1303, 1603, 1803a to 1803c, 2103a to 2103c Zero cross detection means
304, 704, 1304, 1604, 1804, 2104a to 2104c Buffer memory
305, 705, 1305, 1605a, 1805a to 1805c, 2105a to 2105c Address management means
706, 1306, 1606, 1806a to 1806c, 2106a to 2106c Up-sampling means
707, 1807a to 1807c, 2107a to 2107c Thinning means
308, 708, 1308, 1608, 1808, 2108, 2219, 2418 Output terminals
1611 Sub-filter operation unit
1612 Sub-filter coefficient selection unit
1809a-1809c, 2109a-2109c Multiplier
1810, 2110, 2217, 2417 Adder
2112a-2112c Bandpass filter
2213 Delay
2214 Low-pass filter
2215 High-pass filter
2216 Overtone generator
2413 Zero-cross detection circuit
2414 RAM
2415 Read address counter
2416 Write address counter

Claims (5)

入力信号に対しその倍音を生成する倍音生成方法であって、
前記入力信号に対しダウンサンプリングを行った後にバッファメモリに格納し、
前記バッファメモリから読み出した信号についてアップサンプリングを行い、
前記アップサンプリングされた信号に対し、時間軸圧縮操作により倍音を生成することを特徴とする倍音生成方法。
A harmonic generation method for generating an overtone of an input signal,
After performing downsampling on the input signal, store it in the buffer memory,
Up-sampling is performed on the signal read from the buffer memory,
A harmonic generation method, wherein a harmonic is generated for the up-sampled signal by a time axis compression operation.
入力信号に対し、周波数がk倍(kは自然数)の倍音を生成する倍音生成方法であって、
長さM(Mは自然数)の前記入力信号に対しダウンサンプリングを行った後にバッファメモリに格納し、
前記バッファメモリから読み出した信号について、アップサンプリングを行い、長さM×kの信号を取り出し、
前記アップサンプリングされた信号に対し、kサンプルのうち1サンプルの割合で信号を取り出すことにより、長さMの倍音を生成することを特徴とする倍音生成方法。
A harmonic generation method for generating an overtone whose frequency is k times (k is a natural number) with respect to an input signal,
After performing downsampling on the input signal of length M (M is a natural number), store it in the buffer memory,
The signal read from the buffer memory is up-sampled, and a signal of length M × k is extracted.
A harmonic generation method characterized by generating a harmonic having a length M by extracting a signal at a rate of one sample out of k samples from the up-sampled signal.
入力信号に対し、周波数がk倍(kは自然数)の倍音を生成する倍音生成方法であって、
前記入力信号に対しダウンサンプリングを行った後に、書き込みアドレスの更新速度p(pは自然数)でバッファメモリに格納し、
前記バッファメモリから、読み出しアドレスの更新速度がp×kで読み出した信号について、kサンプルのうち1サンプルの割合でアップサンプリングを行うことにより、倍音を生成することを特徴とする倍音生成方法。
A harmonic generation method for generating an overtone whose frequency is k times (k is a natural number) with respect to an input signal,
After down-sampling the input signal, the input signal is stored in a buffer memory at an update speed p (p is a natural number) of a write address,
A method for generating harmonics by upsampling a signal read out from the buffer memory at a read address update rate of p × k at a rate of one sample out of k samples.
入力信号に対しその倍音を生成する倍音生成装置であって、
前記入力信号に対し間引き処理を行うダウンサンプリング手段と、
定められた信号に対し、ゼロクロス点を検出するゼロクロス検出手段と、
前記ダウンサンプリング手段の出力信号を格納するバッファメモリと、
前記ゼロクロス検出手段が検出したゼロクロス点の情報と、生成する倍音の倍率に基づき、前記バッファメモリからの読み出しアドレスを設定するアドレス管理手段と、
前記バッファメモリからの出力信号に関し、信号の補間処理を行うアップサンプリング手段と、
前記アップサンプリング手段の出力信号に対し、生成する倍音の次数に応じ、間引き処理を行い、出力信号を生成する間引き手段とを具備し、
前記ゼロクロス検出手段において、ゼロクロス点を検出する対象となる前記定められた信号が、前記ダウンサンプリング手段への入力信号、あるいは前記バッファメモリに記憶された信号、あるいは前記バッファメモリへの入力信号、あるいは前記バッファメモリからの出力信号、あるいは前記アップサンプリング手段からの出力信号、あるいは前記間引き手段の出力信号のいずれかであることを特徴とする倍音生成装置。
An overtone generation device that generates an overtone of the input signal,
Downsampling means for performing a thinning process on the input signal,
Zero-crossing detection means for detecting a zero-crossing point for a predetermined signal;
A buffer memory for storing an output signal of the downsampling means;
Address management means for setting a read address from the buffer memory based on information of the zero-cross point detected by the zero-cross detection means and a magnification of an overtone to be generated;
Upsampling means for performing an interpolation process of a signal with respect to an output signal from the buffer memory,
The output signal of the up-sampling unit, according to the degree of harmonics to be generated, performing a thinning process, comprising a thinning unit to generate an output signal,
In the zero-cross detection means, the predetermined signal to be detected for a zero-cross point is an input signal to the down-sampling means, or a signal stored in the buffer memory, or an input signal to the buffer memory, or An overtone generation device, which is one of an output signal from the buffer memory, an output signal from the upsampling unit, and an output signal from the thinning unit.
入力信号に対しその倍音を生成する倍音生成装置であって、
前記入力信号に対し間引き処理を行うダウンサンプリング手段と、
定められた信号に対し、ゼロクロス点を検出するゼロクロス検出手段と、
前記ダウンサンプリング手段の出力信号を格納するバッファメモリと、
前記ゼロクロス検出手段が検出したゼロクロス点の情報と、生成する倍音の次数に基づき、前記バッファメモリからの読み出しアドレスを設定するアドレス管理手段と、
前記アドレス管理手段からの読み出しアドレスの情報からアップサンプリングで用いるフィルタの係数を選択し、前記バッファメモリからの出力信号に関し、信号の補間処理と倍音の生成を行い、出力信号を生成するアップサンプリング手段とを具備し、
前記ゼロクロス検出手段において、ゼロクロス点を検出する対象となる前記定められた信号が、前記ダウンサンプリング手段への入力信号、あるいは前記バッファメモリに記憶された信号、あるいは前記バッファメモリへの入力信号、あるいは前記バッファメモリからの出力信号、あるいは前記アップサンプリング手段からの出力信号のいずれかであることを特徴とする倍音生成装置。
An overtone generation device that generates an overtone of the input signal,
Downsampling means for performing a thinning process on the input signal,
Zero-crossing detection means for detecting a zero-crossing point for a predetermined signal;
A buffer memory for storing an output signal of the downsampling means;
Address management means for setting a read address from the buffer memory based on information of the zero-cross point detected by the zero-cross detection means and an order of a generated harmonic;
Upsampling means for selecting a filter coefficient used in upsampling from the information of the read address from the address management means, performing signal interpolation processing and generation of harmonics on the output signal from the buffer memory, and generating an output signal And
In the zero-cross detection means, the predetermined signal to be detected for a zero-cross point is an input signal to the down-sampling means, or a signal stored in the buffer memory, or an input signal to the buffer memory, or An overtone generation device, which is either an output signal from the buffer memory or an output signal from the upsampling unit.
JP2003119972A 2003-04-17 2003-04-24 Harmonic overtone generation method and harmonic overtone generator Pending JP2004328361A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2003119972A JP2004328361A (en) 2003-04-24 2003-04-24 Harmonic overtone generation method and harmonic overtone generator
EP04008546A EP1473965A2 (en) 2003-04-17 2004-04-08 Acoustic signal-processing apparatus and method
CN2004100325813A CN1538784B (en) 2003-04-17 2004-04-09 Audible signal processing device and its method
US10/821,942 US7551742B2 (en) 2003-04-17 2004-04-12 Acoustic signal-processing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003119972A JP2004328361A (en) 2003-04-24 2003-04-24 Harmonic overtone generation method and harmonic overtone generator

Publications (1)

Publication Number Publication Date
JP2004328361A true JP2004328361A (en) 2004-11-18

Family

ID=33499027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003119972A Pending JP2004328361A (en) 2003-04-17 2003-04-24 Harmonic overtone generation method and harmonic overtone generator

Country Status (1)

Country Link
JP (1) JP2004328361A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008134582A (en) * 2006-10-27 2008-06-12 Sony Corp Audio processing method and audio processing apparatus
JP2008191659A (en) * 2007-01-12 2008-08-21 Sony Corp Speech emphasis method and speech reproduction system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008134582A (en) * 2006-10-27 2008-06-12 Sony Corp Audio processing method and audio processing apparatus
US8204239B2 (en) 2006-10-27 2012-06-19 Sony Corporation Audio processing method and audio processing apparatus
JP2008191659A (en) * 2007-01-12 2008-08-21 Sony Corp Speech emphasis method and speech reproduction system
US8229135B2 (en) 2007-01-12 2012-07-24 Sony Corporation Audio enhancement method and system

Similar Documents

Publication Publication Date Title
CN103262162B (en) Psychoacoustic filter design for rational resamplers
JP6672322B2 (en) Multi-rate system for audio processing
TWI292124B (en) Method to perform sampling rate conversion, multirate filter for performing sampling rate conversion, associated signal processing system, and computer readable storage medium recorded with associated instructions
JP2010249939A (en) Noise reducing device and noise determination method
JP2010249940A (en) Noise reducing device and noise reduction method
CN101944364B (en) Voice frequency processing method and voice frequency system
US8666732B2 (en) High frequency signal interpolating apparatus
CN1815549A (en) Early reflection reproduction apparatus and method of sound field effect reproduction
GB2473266A (en) An improved filter bank
EP1463030A2 (en) Reverberation sound generating apparatus
Kahles et al. Oversampling for nonlinear waveshaping: Choosing the right filters
WO2002089334A1 (en) Resampling system and apparatus
JP5541832B2 (en) Sampling rate conversion
CN106972840B (en) Sampling rate conversion method and device
US8949303B2 (en) Filter
JP2004328361A (en) Harmonic overtone generation method and harmonic overtone generator
Zhang et al. Optimized design of windowed-sinc anti-aliasing filters for phase-preserving decimation of hydrophone data
EP1533898A1 (en) Digital filter designing method, digital filter designing program, digital filter
US6772022B1 (en) Methods and apparatus for providing sample rate conversion between CD and DAT
JP3851757B2 (en) Sampling rate converter
US7400676B2 (en) Tone quality adjustment device designing method and designing device, tone quality adjustment device designing program, and tone quality adjustment device
JP3468677B2 (en) Frequency converter
JPH0732343B2 (en) Asynchronous sampling frequency conversion method
WO2019152101A1 (en) Sample rate conversion with pitch-based interpolation filters
JPH01144814A (en) Sound field reproducing device