JP2022096287A - フィルタ生成装置、及びフィルタ生成プログラム - Google Patents
フィルタ生成装置、及びフィルタ生成プログラム Download PDFInfo
- Publication number
- JP2022096287A JP2022096287A JP2020209308A JP2020209308A JP2022096287A JP 2022096287 A JP2022096287 A JP 2022096287A JP 2020209308 A JP2020209308 A JP 2020209308A JP 2020209308 A JP2020209308 A JP 2020209308A JP 2022096287 A JP2022096287 A JP 2022096287A
- Authority
- JP
- Japan
- Prior art keywords
- filter
- coefficient
- phase fir
- frequency
- error
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 claims abstract description 30
- 230000006870 function Effects 0.000 claims abstract description 28
- 238000006243 chemical reaction Methods 0.000 claims abstract description 16
- 239000013256 coordination polymer Substances 0.000 abstract description 30
- 238000005070 sampling Methods 0.000 description 35
- 238000005520 cutting process Methods 0.000 description 11
- 230000005236 sound signal Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R3/00—Circuits for transducers, loudspeakers or microphones
- H04R3/04—Circuits for transducers, loudspeakers or microphones for correcting frequency response
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
- G06F17/142—Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R2499/00—Aspects covered by H04R or H04S not otherwise provided for in their subgroups
- H04R2499/10—General applications
- H04R2499/13—Acoustic transducers and sound field adaptation in vehicles
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Algebra (AREA)
- Discrete Mathematics (AREA)
- Acoustics & Sound (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Filters That Use Time-Delay Elements (AREA)
- Circuit For Audible Band Transducer (AREA)
Abstract
【課題】フィルタ係数を記憶するメモリの容量を低減する。【解決手段】フィルタ生成装置1は、周波数領域フィルタFFの周波数特性に対してIFFTを施して線形位相FIRフィルタFLのフィルタ係数CLを算出する係数算出部112と、フィルタ係数CLを最小位相FIRフィルタFPのフィルタ係数CPに変換する変換部113と、フィルタ係数CPに対してフィルタ長設定部114によって設定されたフィルタ長NSへの切出処理と窓関数による丸め処理とを実行することによって近似フィルタFAのフィルタ係数CAを生成する係数生成部115と、近似フィルタFAに対応する周波数特性の周波数領域フィルタFFの周波数特性に対する誤差ERを算出する誤差算出部116と、誤差ERが所定閾値ERA以下である場合にフィルタ係数CAを新規のフィルタFNを規定するフィルタ係数CNとして記憶するフィルタ記憶部118と、を備える。【選択図】図1
Description
本発明は、フィルタ生成装置、及びフィルタ生成プログラムに関する。
従来、音声信号を補正するフィルタを生成するフィルタ生成装置が、例えば特許文献1に開示されている。
特許文献1に記載のフィルタ生成装置は、設定された周波数、及びゲインの特性を実現可能なFIRフィルタを生成する。
特許文献1に記載のフィルタ生成装置は、設定された周波数、及びゲインの特性を実現可能なFIRフィルタを生成する。
しかしながら、近年はマルチスピーカーシステムを採用し、クロスオーバー処理も施すことが一般的となっている。この場合には、特許文献1等に記載の従来のフィルタでは機能が十分ではなく、帯域毎の振幅補正に加えて、スピーカー出力に伴う周波数帯域分割を目的としたクロスオーバー機能に適用するフィルタも必要であるため、それぞれの処理で各パラメータを記憶するメモリ容量が必要になる。
本発明は、メモリ容量を低減することの可能なフィルタ生成装置、及びフィルタ生成プログラムを提供することを目的とする。
本発明は、メモリ容量を低減することの可能なフィルタ生成装置、及びフィルタ生成プログラムを提供することを目的とする。
上記目的を達成するために本実施形態のフィルタ生成装置は、周波数領域フィルタの周波数特性を規定するフィルタ係数を取得する係数取得部と、前記周波数特性に対してIFFTを施して、時間領域の線形位相FIRフィルタのフィルタ係数を算出する係数算出部と、前記線形位相FIRフィルタのフィルタ係数を、最小位相FIRフィルタのフィルタ係数に変換する変換部と、前記最小位相FIRフィルタのフィルタ係数を記憶する係数記憶部と、フィルタ長を設定するフィルタ長設定部と、前記係数記憶部から前記最小位相FIRフィルタのフィルタ係数を読み出し、前記最小位相FIRフィルタのフィルタ係数に対して、前記フィルタ長設定部によって設定されたフィルタ長への切出処理と、窓関数による丸め処理とを実行することによって、前記最小位相FIRフィルタを近似する近似フィルタのフィルタ係数を生成する係数生成部と、前記近似フィルタに対応する周波数特性の前記周波数領域フィルタの周波数特性に対する誤差を算出する誤差算出部と、前記誤差が所定閾値以下である場合に、前記近似フィルタのフィルタ係数を新規のフィルタを規定するフィルタ係数として記憶するフィルタ記憶部と、を備える。
また、上記目的を達成するために本実施形態のフィルタ生成プログラムは、コンピュータを、周波数領域フィルタの周波数特性を規定するフィルタ係数を取得する係数取得部、前記周波数特性に対してIFFTを施して、時間領域の線形位相FIRフィルタのフィルタ係数を算出する係数算出部、前記線形位相FIRフィルタのフィルタ係数を、最小位相FIRフィルタのフィルタ係数に変換する変換部、前記最小位相FIRフィルタのフィルタ係数を記憶する係数記憶部、フィルタ長を設定するフィルタ長設定部、前記係数記憶部から前記最小位相FIRフィルタのフィルタ係数を読み出し、前記最小位相FIRフィルタのフィルタ係数に対して、前記フィルタ長設定部によって設定されたフィルタ長への切出処理と、窓関数による丸め処理とを実行することによって、前記最小位相FIRフィルタを近似する近似フィルタのフィルタ係数を生成する係数生成と、前記近似フィルタに対応する周波数特性の前記周波数領域フィルタの周波数特性に対する誤差を算出する誤差算出部、及び、前記誤差が所定閾値以下である場合に、前記近似フィルタのフィルタ係数を新規のフィルタを規定するフィルタ係数として記憶するフィルタ記憶部、として機能させる。
本実施形態によれば、フィルタ係数を記憶するメモリの容量を低減できる。
以下、図面を参照して本実施形態について説明する。
図1は、本実施形態に係るフィルタ生成装置1の構成の一例を示す図である。
フィルタ生成装置1は、例えば、パーソナルコンピュータで構成され、新規のフィルタFNのフィルタ係数CNを生成する。
フィルタ係数CNは、例えば、車両に搭載される図略の音声補正装置に記憶される。音声補正装置は、フィルタ係数CNを用いて、車載スピーカーに対して入力される音声信号を補正する。
フィルタFNについては、フィルタ生成装置1の制御部11の構成の説明において後述する。
フィルタ生成装置1は、例えば、パーソナルコンピュータで構成され、新規のフィルタFNのフィルタ係数CNを生成する。
フィルタ係数CNは、例えば、車両に搭載される図略の音声補正装置に記憶される。音声補正装置は、フィルタ係数CNを用いて、車載スピーカーに対して入力される音声信号を補正する。
フィルタFNについては、フィルタ生成装置1の制御部11の構成の説明において後述する。
図1に示すように、フィルタ生成装置1は、制御部11、操作部12、表示部13、及び記憶部14を備える。
制御部11、操作部12、表示部13、及び記憶部14は、内部バス15を介して、互いに通信可能に構成される。
制御部11、操作部12、表示部13、及び記憶部14は、内部バス15を介して、互いに通信可能に構成される。
操作部12は、例えば、キーボード、マウス等で構成され、ユーザーからの操作を受け付け、操作信号を制御部11へ出力する。
表示部13は、例えば、LCD(Liquid Crystal Display)等で構成され、制御部11からの指示に従って、種々の画像を表示する。
記憶部14は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)等で構成され、種々の情報を記憶する。
制御部11は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)等のプロセッサ11Aと、ROM(Read Only Memory)やRAM(Random Access Memory)等のメモリ11Bと、を備える。メモリ11Bは、制御プログラムPGMを記憶する。
制御部11は、「コンピュータ」の一例に対応する。
制御プログラムPGMは、「フィルタ生成プログラム」の一例に対応する。
制御部11は、「コンピュータ」の一例に対応する。
制御プログラムPGMは、「フィルタ生成プログラム」の一例に対応する。
制御部11は、係数取得部111、係数算出部112、変換部113、フィルタ長設定部114、係数生成部115、誤差算出部116、係数記憶部117、及びフィルタ記憶部118を備える。
具体的には、制御部11のプロセッサ11Aが、メモリ11Bに記憶された制御プログラムPGMを実行することによって、係数取得部111、係数算出部112、変換部113、フィルタ長設定部114、係数生成部115、及び誤差算出部116として機能する。また、制御部11のプロセッサ11Aが、メモリ11Bに記憶された制御プログラムPGMを実行することによって、メモリ11Bを、係数記憶部117、及びフィルタ記憶部118として機能させる。
具体的には、制御部11のプロセッサ11Aが、メモリ11Bに記憶された制御プログラムPGMを実行することによって、係数取得部111、係数算出部112、変換部113、フィルタ長設定部114、係数生成部115、及び誤差算出部116として機能する。また、制御部11のプロセッサ11Aが、メモリ11Bに記憶された制御プログラムPGMを実行することによって、メモリ11Bを、係数記憶部117、及びフィルタ記憶部118として機能させる。
係数記憶部117は、最小位相FIR(Finite Impulse Response)フィルタFPのフィルタ係数CPを記憶する。最小位相FIRフィルタFPのフィルタ係数CPは、変換部113によって生成される。
フィルタ記憶部118は、近似フィルタFAのフィルタ係数CAを新規のフィルタFNを規定するフィルタ係数CNとして記憶する。近似フィルタFAは、係数生成部115によって生成される。
係数取得部111は、周波数領域フィルタFFの周波数特性を規定するフィルタ係数CFを取得する。具体的には、係数取得部111は、第1周波数領域フィルタFF1の周波数特性を規定するフィルタ係数CF1と、第1周波数領域フィルタFF1と相違する第2周波数領域フィルタFF2の周波数特性を規定するフィルタ係数CF2とを、対応する周波数毎に乗算してフィルタ係数CFを算出する。
係数取得部111の処理については、図2を参照して説明する。
係数取得部111の処理については、図2を参照して説明する。
係数算出部112は、周波数領域フィルタFFの周波数特性に対してIFFT(Inverse Fast Fourier Transform)を施して、時間領域の線形位相FIRフィルタFLのフィルタ係数CLを算出する。
係数算出部112の処理については、図2及び図3を参照して説明する。
係数算出部112の処理については、図2及び図3を参照して説明する。
変換部113は、線形位相FIRフィルタFLのフィルタ係数CLを、最小位相FIRフィルタFPのフィルタ係数CPに変換する。
変換部113の処理については、図3及び図4を参照して説明する。
変換部113の処理については、図3及び図4を参照して説明する。
フィルタ長設定部114は、フィルタ長NSを設定する。フィルタ長設定部114は、例えば、前回設定されたフィルタ長NSよりも長いフィルタ長NSを設定する。
本実施形態では、フィルタ長NSは、近似フィルタFAのフィルタ係数CAを構成する係数の個数を示す。フィルタ長NSは、例えば、256個、512個、1024個、2048個等である。
本実施形態では、フィルタ長NSは、近似フィルタFAのフィルタ係数CAを構成する係数の個数を示す。フィルタ長NSは、例えば、256個、512個、1024個、2048個等である。
係数生成部115は、係数記憶部117から最小位相FIRフィルタFPのフィルタ係数CPを読み出し、最小位相FIRフィルタFPのフィルタ係数CPに対して、フィルタ長設定部114によって設定されたフィルタ長NSへの切出処理と、窓関数による丸め処理とを実行することによって、最小位相FIRフィルタFPを近似する近似フィルタFAのフィルタ係数CAを生成する。
係数生成部115の処理については、図5を参照して説明する。
係数生成部115の処理については、図5を参照して説明する。
誤差算出部116は、近似フィルタFAに対応する周波数特性の周波数領域フィルタFFの周波数特性に対する誤差ERを算出する。
誤差算出部116は、誤差ERが所定閾値ERA以下である場合に、近似フィルタFAのフィルタ係数CAを新規のフィルタFNを規定するフィルタ係数CNとして、フィルタ記憶部118に記憶させる。
誤差算出部116は、誤差ERが所定閾値ERA以下である場合に、近似フィルタFAのフィルタ係数CAを新規のフィルタFNを規定するフィルタ係数CNとして、フィルタ記憶部118に記憶させる。
誤差算出部116は、誤差ERが所定閾値ERA以下ではない場合に、フィルタ長設定部114に対して、設定されたフィルタ長NSよりも長いフィルタ長NSを設定させる。例えば、設定されたフィルタ長NSが256個である場合には、フィルタ長設定部114に、フィルタ長NSとして512個を設定させる。また、例えば、設定されたフィルタ長NSが512個である場合には、フィルタ長設定部114に、フィルタ長NSとして1024個を設定させる。
そして、誤差算出部116は、係数生成部115に、最小位相FIRフィルタFLのフィルタ係数CLに対して、フィルタ長設定部114によって設定されたフィルタ長NSへの切出処理と、丸め処理とを実行することによって、最小位相FIRフィルタFLを近似する近似フィルタFAのフィルタ係数CAを生成させる。
誤差算出部116の処理については、図6及び図7を参照して説明する。
誤差算出部116の処理については、図6及び図7を参照して説明する。
図2は、係数取得部111の処理の一例を示す図である。図2に示す3つのグラフの各々において、横軸は周波数FRであり、縦軸は周波数領域フィルタのゲインGNを示す。
図2の最上段に示すグラフは、第1周波数領域フィルタFF1の周波数特性を示すグラフG11である。第1周波数領域フィルタFF1は、周波数毎の振幅を補正するフィルタである。グラフG11は、第1周波数領域フィルタFF1の周波数特性を規定するフィルタ係数CF1に対応する。
図2の最上段に示すグラフは、第1周波数領域フィルタFF1の周波数特性を示すグラフG11である。第1周波数領域フィルタFF1は、周波数毎の振幅を補正するフィルタである。グラフG11は、第1周波数領域フィルタFF1の周波数特性を規定するフィルタ係数CF1に対応する。
図2の中段に示すグラフは、第2周波数領域フィルタFF2の周波数特性を示すグラフG12である。第2周波数領域フィルタFF2は、周波数帯域を分割するフィルタである。
例えば、第2周波数領域フィルタFF2は、低周波成分を低減するフィルタである。グラフG12は、第2周波数領域フィルタFF2の周波数特性を規定するフィルタ係数CF2に対応する。
例えば、第2周波数領域フィルタFF2は、低周波成分を低減するフィルタである。グラフG12は、第2周波数領域フィルタFF2の周波数特性を規定するフィルタ係数CF2に対応する。
図2の下段に示すグラフは、周波数領域フィルタFFの周波数特性を示すグラフG13である。周波数領域フィルタFFの周波数特性を規定するフィルタ係数CFは、係数取得部111によって、第1周波数領域フィルタFF1の周波数特性を規定するフィルタ係数CF1と、第2周波数領域フィルタFF2の周波数特性を規定するフィルタ係数CF2とを、対応する周波数毎に乗算して得られる。
本実施形態では、第2周波数領域フィルタFF2が、低周波成分を低減するフィルタである場合について説明するが、これに限定されない。第2周波数領域フィルタFF2が、周波数帯域を分割するフィルタであればよい。
フィルタ生成装置1が、例えば、車両に搭載されたウーファーに対して出力する音声信号を生成する場合には、第2周波数領域フィルタFF2は、中周波成分及び高周波成分を低減するフィルタである。
また、フィルタ生成装置1が、例えば、車両に搭載されたスコーカーに対して出力する音声信号を生成する場合には、第2周波数領域フィルタFF2は、低周波成分及び高周波成分を低減するフィルタである。
また、フィルタ生成装置1が、例えば、車両に搭載されたツイーターに対して出力する音声信号を生成する場合には、第2周波数領域フィルタFF2は、低周波成分及び中周波成分を低減するフィルタである。
このように、フィルタ生成装置1が生成するフィルタFNが音声信号を出力するスピーカーの種類に応じて、第2周波数領域フィルタFF2は、周波数帯域を分割すればよい。
フィルタ生成装置1が、例えば、車両に搭載されたウーファーに対して出力する音声信号を生成する場合には、第2周波数領域フィルタFF2は、中周波成分及び高周波成分を低減するフィルタである。
また、フィルタ生成装置1が、例えば、車両に搭載されたスコーカーに対して出力する音声信号を生成する場合には、第2周波数領域フィルタFF2は、低周波成分及び高周波成分を低減するフィルタである。
また、フィルタ生成装置1が、例えば、車両に搭載されたツイーターに対して出力する音声信号を生成する場合には、第2周波数領域フィルタFF2は、低周波成分及び中周波成分を低減するフィルタである。
このように、フィルタ生成装置1が生成するフィルタFNが音声信号を出力するスピーカーの種類に応じて、第2周波数領域フィルタFF2は、周波数帯域を分割すればよい。
図3は、線形位相FIRフィルタFLの一例を示すグラフである。
図3に示す線形位相FIRフィルタFLは、係数算出部112によって、図2に示す周波数領域フィルタFFの周波数特性に対してIFFTを施して得られる。なお、サンプリング周波数を48kHzとし、サンプリング点SMの個数を8192点としてFFT(Fast Fourier Transform)した場合には、IFFTを施して得られる線形位相FIRフィルタFLのサンプリング点SMの個数は8192個である。
図3の横軸は、線形位相FIRフィルタFLのサンプリング点SMを示し、縦軸は、線形位相FIRフィルタFLのフィルタ係数CLに対応する振幅ATを示す。サンプリング点SMの値は、1~8192である。
図3に示す線形位相FIRフィルタFLは、係数算出部112によって、図2に示す周波数領域フィルタFFの周波数特性に対してIFFTを施して得られる。なお、サンプリング周波数を48kHzとし、サンプリング点SMの個数を8192点としてFFT(Fast Fourier Transform)した場合には、IFFTを施して得られる線形位相FIRフィルタFLのサンプリング点SMの個数は8192個である。
図3の横軸は、線形位相FIRフィルタFLのサンプリング点SMを示し、縦軸は、線形位相FIRフィルタFLのフィルタ係数CLに対応する振幅ATを示す。サンプリング点SMの値は、1~8192である。
線形位相FIRフィルタFLは、位相が線形なシステムであって、図3の上段に示すグラフG21に示すように、左右対称な特性を有する。
図3の下段に示すグラフは、図3の上段に示すグラフG21において、サンプリング点SMの値が「4097(=8192/2+1)」の近傍、例えば、サンプリング点SMの値が4000~4200の範囲を拡大したグラフG22である。
図3の下段に示すグラフは、図3の上段に示すグラフG21において、サンプリング点SMの値が「4097(=8192/2+1)」の近傍、例えば、サンプリング点SMの値が4000~4200の範囲を拡大したグラフG22である。
グラフG22に示すように、線形位相FIRフィルタFLは、横軸であるサンプリング点SMの値が「4097」の位置を中心として、左右対称の波形である。
図4は、最小位相FIRフィルタFPの一例を示すグラフである。
最小位相FIRフィルタFPは、変換部113によって、線形位相FIRフィルタFLを変換することによって求められる。この処理では、公知のように、実数ケプストラムを求めた後、ケプストラム領域での窓処理を適用することによって、最小位相FIRフィルタFPが得られる。
図4の横軸は、線形位相FIRフィルタFLのサンプリング点SMを示し、縦軸は、線形位相FIRフィルタFLのフィルタ係数CLに対応する振幅ATを示す。
最小位相FIRフィルタFPは、変換部113によって、線形位相FIRフィルタFLを変換することによって求められる。この処理では、公知のように、実数ケプストラムを求めた後、ケプストラム領域での窓処理を適用することによって、最小位相FIRフィルタFPが得られる。
図4の横軸は、線形位相FIRフィルタFLのサンプリング点SMを示し、縦軸は、線形位相FIRフィルタFLのフィルタ係数CLに対応する振幅ATを示す。
最小位相FIRフィルタFPは、遅延が少ないシステムであって、少ない次数で特性を近似できる。
図4の下段に示すグラフは、図4の上段に示すグラフG31において、サンプリング点SMの値が「1」の近傍、例えば、サンプリング点SMの値が1~254の範囲を拡大したグラフG32である。
図4の下段に示すグラフは、図4の上段に示すグラフG31において、サンプリング点SMの値が「1」の近傍、例えば、サンプリング点SMの値が1~254の範囲を拡大したグラフG32である。
グラフG32に示すように、最小位相FIRフィルタFPは、サンプリング点SMの値が「1」の近傍で、最小位相FIRフィルタFPの特性の主な特徴となる振幅ATを有する波形である。このため、最小位相FIRフィルタFPは、少ない次数で特性を近似できる。この点については、図6~図8を参照して説明する。
図5は、係数生成部115による切出処理と丸め処理との一例を示すグラフである。
なお、図5では、フィルタ長設定部114が、フィルタ長NSとして、1024個を設定した場合について説明する。
なお、図5では、フィルタ長設定部114が、フィルタ長NSとして、1024個を設定した場合について説明する。
図5の左側上段の図は、最小位相FIRフィルタFPのうちの切出処理が行われる範囲RCと、丸め処理が行われる範囲RD1を示している。
図5の左側上段の図の横軸は、最小位相FIRフィルタFPのサンプリング点SMを示し、縦軸は、最小位相FIRフィルタFPのフィルタ係数CPに対応する振幅ATを示す。図5の左側上段の図のグラフG41は、最小位相FIRフィルタFPのフィルタ係数CPを示す。
範囲RCは、サンプリング点SMが「1」から「1024」までの範囲である。
範囲RD1は、サンプリング点SMが「513」から「1024」までの範囲である。
図5の左側上段の図の横軸は、最小位相FIRフィルタFPのサンプリング点SMを示し、縦軸は、最小位相FIRフィルタFPのフィルタ係数CPに対応する振幅ATを示す。図5の左側上段の図のグラフG41は、最小位相FIRフィルタFPのフィルタ係数CPを示す。
範囲RCは、サンプリング点SMが「1」から「1024」までの範囲である。
範囲RD1は、サンプリング点SMが「513」から「1024」までの範囲である。
図5の左側下段の図は、丸め処理に用いられる窓関数と、丸め処理が行われる範囲RD2とを示している。
図5の左側下段の図の横軸は、窓関数のサンプリング点SMを示し、縦軸は、窓関数の振幅ATを示す。グラフG42は、窓関数を示す。本実施形態では、窓関数は、テューキー窓であって、テューキー窓を規定するパラメータrの値は、「0.5」に設定される。
図5の左側下段の図の横軸は、窓関数のサンプリング点SMを示し、縦軸は、窓関数の振幅ATを示す。グラフG42は、窓関数を示す。本実施形態では、窓関数は、テューキー窓であって、テューキー窓を規定するパラメータrの値は、「0.5」に設定される。
係数生成部115は、切出処理として、サンプリング点SMが範囲RCの最小位相FIRフィルタFPのフィルタ係数CPを切り出す。
係数生成部115は、丸め処理として、サンプリング点SMが範囲RD1の最小位相FIRフィルタFPのフィルタ係数CPの各々に、サンプリング点SMが範囲RD2の窓関数の値を乗じる処理を実行する。
その結果、図5の右側の図に示す最小位相FIRフィルタFPの近似フィルタFAが得られる。図5の右側の図の横軸は、近似フィルタFAのサンプリング点SMを示し、縦軸は、近似フィルタFAの振幅ATを示す。グラフG43は、近似フィルタFAを示す。
係数生成部115は、丸め処理として、サンプリング点SMが範囲RD1の最小位相FIRフィルタFPのフィルタ係数CPの各々に、サンプリング点SMが範囲RD2の窓関数の値を乗じる処理を実行する。
その結果、図5の右側の図に示す最小位相FIRフィルタFPの近似フィルタFAが得られる。図5の右側の図の横軸は、近似フィルタFAのサンプリング点SMを示し、縦軸は、近似フィルタFAの振幅ATを示す。グラフG43は、近似フィルタFAを示す。
次に、図6~図8を参照して、誤差算出部116の処理について説明する。
まず、誤差算出部116は、係数生成部115が生成した近似フィルタFAに対して、FFT(Fast Fourier Transform)を施して、近似フィルタFAに対応する周波数特性を算出する。
そして、近似フィルタFAに対応する周波数特性と、周波数領域フィルタFFの周波数特性との差分を誤差ERとして算出する。
まず、誤差算出部116は、係数生成部115が生成した近似フィルタFAに対して、FFT(Fast Fourier Transform)を施して、近似フィルタFAに対応する周波数特性を算出する。
そして、近似フィルタFAに対応する周波数特性と、周波数領域フィルタFFの周波数特性との差分を誤差ERとして算出する。
本実施形態では、サンプリング周波数を48kHzとし、サンプリング点数を8192個として、FFT及びIFFTを実行する。すなわち、周波数分解能は、約5.85(=48000/8192)Hzである。
また、本実施形態では、誤差ERの算出においては、周波数領域フィルタFFの周波数特性を示す4096個のデータから、1/3オクターブの中心周波数に近い複数(本実施形態では、29個)の特定周波数に対応する29個のサンプリング点について、誤差ERを算出する。
例えば、100Hzから1kHzまでの区間においては、105.4Hz、128.9Hz、164.0Hz、199.2Hz、246.0Hz、316.4Hz、398.4Hz、503.9Hz,632.8Hz,802.7Hzの10点が「特定周波数」に対応するサンプリング点である。
また、本実施形態では、誤差ERの算出においては、周波数領域フィルタFFの周波数特性を示す4096個のデータから、1/3オクターブの中心周波数に近い複数(本実施形態では、29個)の特定周波数に対応する29個のサンプリング点について、誤差ERを算出する。
例えば、100Hzから1kHzまでの区間においては、105.4Hz、128.9Hz、164.0Hz、199.2Hz、246.0Hz、316.4Hz、398.4Hz、503.9Hz,632.8Hz,802.7Hzの10点が「特定周波数」に対応するサンプリング点である。
図6は、近似フィルタFAのフィルタ長NSが256点である場合の誤差算出部116による処理の一例を示すグラフである。図6の横軸は周波数FRであり、縦軸は振幅ATである。
破線のグラフG51は、周波数領域フィルタFFの周波数特性を示す。実線のグラフG52は、近似フィルタFAの周波数特性を示す。点P51は、破線のグラフG51の特定周波数に近い点であり、点P52は、実線のグラフG52において、点P51に対応する特定周波数に近い点である。
29個の点P51の振幅ATの値を変数Xn(n=1~29)と記載し、29個の点P52の振幅ATの値を変数Yn(n=1~29)と記載すると、誤差ERは、次の式(1)で求められる。
ER=(Σ(Xn-Yn)2)1/2 (1)
ここで、Σは、29個の点についての和、すなわち、n=1~29の各々に対応する変数Xnと変数Ynとの差の二乗和を示す。
フィルタ長NSが256点である場合には、誤差算出部116によって算出される誤差ERは、「1.3858」である。
破線のグラフG51は、周波数領域フィルタFFの周波数特性を示す。実線のグラフG52は、近似フィルタFAの周波数特性を示す。点P51は、破線のグラフG51の特定周波数に近い点であり、点P52は、実線のグラフG52において、点P51に対応する特定周波数に近い点である。
29個の点P51の振幅ATの値を変数Xn(n=1~29)と記載し、29個の点P52の振幅ATの値を変数Yn(n=1~29)と記載すると、誤差ERは、次の式(1)で求められる。
ER=(Σ(Xn-Yn)2)1/2 (1)
ここで、Σは、29個の点についての和、すなわち、n=1~29の各々に対応する変数Xnと変数Ynとの差の二乗和を示す。
フィルタ長NSが256点である場合には、誤差算出部116によって算出される誤差ERは、「1.3858」である。
図7は、近似フィルタFAのフィルタ長NSが2048点である場合の誤差算出部116による処理の一例を示すグラフである。図7の横軸は周波数FRであり、縦軸は振幅ATである。
破線のグラフG61は、周波数領域フィルタFFの周波数特性を示す。実線のグラフG62は、近似フィルタFAに対応する周波数特性を示す。
誤差ERの算出方法は、図6を参照して説明した方法と同一である。
フィルタ長NSが2048点である場合には、誤差算出部116によって算出される誤差ERは、「0.0509」である。
破線のグラフG61は、周波数領域フィルタFFの周波数特性を示す。実線のグラフG62は、近似フィルタFAに対応する周波数特性を示す。
誤差ERの算出方法は、図6を参照して説明した方法と同一である。
フィルタ長NSが2048点である場合には、誤差算出部116によって算出される誤差ERは、「0.0509」である。
図8は、近似フィルタFAのフィルタ長NSと誤差ERとの関係の一例を示すグラフである。図8において、横軸は近似フィルタFAのフィルタ長NSであり、縦軸は、誤差算出部116によって算出され誤差ERである。
グラフG7は、フィルタ長NSと誤差ERとの関係を示す。グラフG7に示すように、フィルタ長NSが長い程、誤差ERは低下する。所定閾値ERAは、例えば、-20(dB)である。
したがって、フィルタ長設定部114が設定したフィルタ長NSが2048点に到達したときに、誤差ERが所定閾値ERA以下になるため、誤差算出部116は、フィルタ長NSが2048点である近似フィルタFAのフィルタ係数CAを、新規のフィルタFNを規定するフィルタ係数CNとして、フィルタ記憶部118に記憶させる。
グラフG7は、フィルタ長NSと誤差ERとの関係を示す。グラフG7に示すように、フィルタ長NSが長い程、誤差ERは低下する。所定閾値ERAは、例えば、-20(dB)である。
したがって、フィルタ長設定部114が設定したフィルタ長NSが2048点に到達したときに、誤差ERが所定閾値ERA以下になるため、誤差算出部116は、フィルタ長NSが2048点である近似フィルタFAのフィルタ係数CAを、新規のフィルタFNを規定するフィルタ係数CNとして、フィルタ記憶部118に記憶させる。
図11は、従来の線形位相FIRフィルタFPによるフィルタ処理結果の一例を示すグラフである。図11では、線形位相FIRフィルタFPが、図3に示す線形位相FIRフィルタFPである場合について説明する。図11において、横軸は時間TM(sec)であり、縦軸は線形位相FIRフィルタFPへの入力信号、及び線形位相FIRフィルタFPからの出力信号の振幅ATである。
破線で示すグラフG91は、線形位相FIRフィルタFPへの入力信号を示し、実線で示すグラフG92は、線形位相FIRフィルタFPからの出力信号を示す。
図11の上段の図に示すように、線形位相FIRフィルタFPへの入力信号は、パルス波である。また、線形位相FIRフィルタFPからの出力信号は、線形位相FIRフィルタFPへの入力信号に対して、遅延時間TDだけ遅延している。なお、遅延時間TDは、例えば、0.12秒である。
図11の上段の図に示すように、線形位相FIRフィルタFPへの入力信号は、パルス波である。また、線形位相FIRフィルタFPからの出力信号は、線形位相FIRフィルタFPへの入力信号に対して、遅延時間TDだけ遅延している。なお、遅延時間TDは、例えば、0.12秒である。
図11の下段の図は、線形位相FIRフィルタFPからの出力信号のピーク値の近傍を横軸方向に拡大したグラフである。線形位相FIRフィルタFPからの出力信号は、グラフG93に示すように、ピーク信号PPの前に、振幅が「0」ではない領域PRを含む。したがって、線形位相FIRフィルタFPからの出力信号が入力されたスピーカーから出力される音声にプリリンギング、すなわち、プリエコーが発生する。
図9は、フィルタ記憶部118に新規のフィルタFNとして記憶される近似フィルタFAによるフィルタ処理結果の一例を示すグラフである。図9の横軸は時間TM(sec)を示し、縦軸は近似フィルタFAへの入力信号、及び近似フィルタFAからの出力信号の振幅ATを示す。
破線で示すグラフG81は、近似フィルタFAへの入力信号であり、実線で示すグラフG82は、近似フィルタFAからの出力信号である。近似フィルタFAへの入力信号は、パルス波である。
図9の上段の図では、グラフG81の波形の大半とグラフG82の波形の大半とが重なっている。また、グラフG81の波形のピーク位置と、グラフG82の波形のピーク位置とは一致している。
すなわち、図11のような遅延時間TDは発生しない。
破線で示すグラフG81は、近似フィルタFAへの入力信号であり、実線で示すグラフG82は、近似フィルタFAからの出力信号である。近似フィルタFAへの入力信号は、パルス波である。
図9の上段の図では、グラフG81の波形の大半とグラフG82の波形の大半とが重なっている。また、グラフG81の波形のピーク位置と、グラフG82の波形のピーク位置とは一致している。
すなわち、図11のような遅延時間TDは発生しない。
図9の下段の図は、近似フィルタFAからの出力信号のピーク値の近傍を横軸方向に拡大したグラフである。
近似フィルタFAからの出力信号は、グラフG83に示すように、ピーク信号PPの前に振幅が「0」ではない領域は含まない。したがって、近似フィルタFAからの出力信号が入力されたスピーカーから出力される音声にプリリンギング、すなわち、プリエコーは発生しない。
近似フィルタFAからの出力信号は、グラフG83に示すように、ピーク信号PPの前に振幅が「0」ではない領域は含まない。したがって、近似フィルタFAからの出力信号が入力されたスピーカーから出力される音声にプリリンギング、すなわち、プリエコーは発生しない。
図9及び図11を参照して説明したように、近似フィルタFAからの出力信号は、近似フィルタFAへの入力信号に対して、遅延が発生せず、且つ、プリリンギング、すなわち、プリエコーも発生しない。したがって、近似フィルタFAは、品質の良好な出力信号を生成できる。
図10は、制御部11の処理の一例を示すフローチャートである。
図10に示すように、まず、ステップS101において、係数取得部111は、第1周波数領域フィルタFF1の周波数特性を規定するフィルタ係数CF1を取得する。
次に、ステップS103において、係数取得部111は、第2周波数領域フィルタFF2の周波数特性を規定するフィルタ係数CF2を取得する。
次に、ステップS105において、係数取得部111は、フィルタ係数CF1とフィルタ係数CF2とを、対応する周波数毎に乗算して、周波数領域フィルタFFの周波数特性を規定するフィルタ係数CFを算出する。
図10に示すように、まず、ステップS101において、係数取得部111は、第1周波数領域フィルタFF1の周波数特性を規定するフィルタ係数CF1を取得する。
次に、ステップS103において、係数取得部111は、第2周波数領域フィルタFF2の周波数特性を規定するフィルタ係数CF2を取得する。
次に、ステップS105において、係数取得部111は、フィルタ係数CF1とフィルタ係数CF2とを、対応する周波数毎に乗算して、周波数領域フィルタFFの周波数特性を規定するフィルタ係数CFを算出する。
次に、ステップS107において、係数算出部112は、周波数領域フィルタFFの周波数特性に対してIFFTを施して、時間領域の線形位相FIRフィルタFLのフィルタ係数CLを算出する。
次に、ステップS109において、変換部113は、線形位相FIRフィルタFLのフィルタ係数CLを、最小位相FIRフィルタFPのフィルタ係数CPに変換することによって、最小位相FIRフィルタFPのフィルタ係数CPを算出する。
次に、ステップS111において、変換部113は、最小位相FIRフィルタFPのフィルタ係数CPを係数記憶部117に記憶させる。
次に、ステップS109において、変換部113は、線形位相FIRフィルタFLのフィルタ係数CLを、最小位相FIRフィルタFPのフィルタ係数CPに変換することによって、最小位相FIRフィルタFPのフィルタ係数CPを算出する。
次に、ステップS111において、変換部113は、最小位相FIRフィルタFPのフィルタ係数CPを係数記憶部117に記憶させる。
次に、ステップS113において、フィルタ長設定部114は、フィルタ長NSを設定する。フィルタ長設定部114は、フィルタ長NSとして、近似フィルタFAのフィルタ係数CAを構成する係数の個数を、例えば、256個に設定する。
次に、ステップS115において、係数生成部115は、最小位相FIRフィルタFPを近似する近似フィルタFAのフィルタ係数CAを生成する。具体的には、係数生成部115は、係数記憶部117から最小位相FIRフィルタFPのフィルタ係数CPを読み出し、最小位相FIRフィルタFPのフィルタ係数CPに対して、フィルタ長設定部114によって設定されたフィルタ長NSへの切出処理と、窓関数による丸め処理とを実行することによって、最小位相FIRフィルタFPを近似する近似フィルタFAのフィルタ係数CAを生成する。
次に、ステップS117において、誤差算出部116は、近似フィルタFAに対応する周波数特性の周波数領域フィルタFFの周波数特性に対する誤差ERを算出する。具体的には、誤差算出部116は、誤差ERの算出においては、周波数領域フィルタFFの周波数特性を示す4096個のデータから、1/3オクターブの中心周波数に近い複数の特定周波数に対応する29個のサンプリング点について、誤差ERを算出する。誤差ERは、図6を参照して説明した上記式(1)で算出される。
次に、ステップS115において、係数生成部115は、最小位相FIRフィルタFPを近似する近似フィルタFAのフィルタ係数CAを生成する。具体的には、係数生成部115は、係数記憶部117から最小位相FIRフィルタFPのフィルタ係数CPを読み出し、最小位相FIRフィルタFPのフィルタ係数CPに対して、フィルタ長設定部114によって設定されたフィルタ長NSへの切出処理と、窓関数による丸め処理とを実行することによって、最小位相FIRフィルタFPを近似する近似フィルタFAのフィルタ係数CAを生成する。
次に、ステップS117において、誤差算出部116は、近似フィルタFAに対応する周波数特性の周波数領域フィルタFFの周波数特性に対する誤差ERを算出する。具体的には、誤差算出部116は、誤差ERの算出においては、周波数領域フィルタFFの周波数特性を示す4096個のデータから、1/3オクターブの中心周波数に近い複数の特定周波数に対応する29個のサンプリング点について、誤差ERを算出する。誤差ERは、図6を参照して説明した上記式(1)で算出される。
次に、ステップS119において、誤差算出部116は、誤差ERが所定閾値ERA以下であるか否かを判定する。所定閾値ERAは、例えば、-20(dB)である。
誤差ERが所定閾値ERA以下ではないと誤差算出部116が判定した場合(ステップS119;NO)には、処理がステップS113に戻る。そして、ステップS113において、フィルタ長設定部114によって、設定されたフィルタ長NSよりも長いフィルタ長NSが設定され、ステップS115~ステップS119の処理が繰り返し実行される。
誤差ERが所定閾値ERA以下であると誤差算出部116が判定した場合(ステップS119;YES)には、処理がステップS121へ進む。
そして、ステップS121において、誤差算出部116は、近似フィルタFAのフィルタ係数CAを新規のフィルタFNを規定するフィルタ係数CNとして、フィルタ記憶部118に記憶させる。その後、処理が終了する。
誤差ERが所定閾値ERA以下ではないと誤差算出部116が判定した場合(ステップS119;NO)には、処理がステップS113に戻る。そして、ステップS113において、フィルタ長設定部114によって、設定されたフィルタ長NSよりも長いフィルタ長NSが設定され、ステップS115~ステップS119の処理が繰り返し実行される。
誤差ERが所定閾値ERA以下であると誤差算出部116が判定した場合(ステップS119;YES)には、処理がステップS121へ進む。
そして、ステップS121において、誤差算出部116は、近似フィルタFAのフィルタ係数CAを新規のフィルタFNを規定するフィルタ係数CNとして、フィルタ記憶部118に記憶させる。その後、処理が終了する。
以上、図1~図11を参照して説明したように、本実施形態のフィルタ生成装置1は、周波数領域フィルタFFの周波数特性を規定するフィルタ係数CFを取得する係数取得部111と、周波数領域フィルタFFの周波数特性に対してIFFTを施して、時間領域の線形位相FIRフィルタFLのフィルタ係数CLを算出する係数算出部112と、線形位相FIRフィルタFLのフィルタ係数CLを、最小位相FIRフィルタFPのフィルタ係数CPに変換する変換部113と、最小位相FIRフィルタFPのフィルタ係数CPを記憶する係数記憶部117と、フィルタ長NSを設定するフィルタ長設定部114と、係数記憶部117から最小位相FIRフィルタFPのフィルタ係数CPを読み出し、最小位相FIRフィルタFPのフィルタ係数CPに対して、フィルタ長設定部114によって設定されたフィルタ長NSへの切出処理と、窓関数による丸め処理とを実行することによって、最小位相FIRフィルタFPを近似する近似フィルタFAのフィルタ係数CAを生成する係数生成部115と、近似フィルタFAに対応する周波数特性の周波数領域フィルタFFの周波数特性に対する誤差ERを算出する誤差算出部116と、誤差ERが所定閾値ERA以下である場合に、近似フィルタFAのフィルタ係数CAを新規のフィルタFNを規定するフィルタ係数CNとして記憶するフィルタ記憶部118と、を備える。
すなわち、最小位相FIRフィルタFPのフィルタ係数CPを読み出し、最小位相FIRフィルタFPのフィルタ係数CPに対して、設定されたフィルタ長NSへの切出処理と、窓関数による丸め処理とを実行することによって、最小位相FIRフィルタFPを近似する近似フィルタFAのフィルタ係数CAを生成する。そして、誤差ERが所定閾値ERA以下である場合に、近似フィルタFAのフィルタ係数CAを新規のフィルタFNを規定するフィルタ係数CNとして記憶する。
よって、フィルタ長NSを適正に設定することによって、最小位相FIRフィルタFPを適正に近似する近似フィルタFAのフィルタ係数CAを生成できる。したがって、フィルタ係数を記憶するメモリの容量を低減できる。
また、図9及び図11を参照して説明したように、線形位相FIRフィルタFPのように、出力信号が入力信号に対して遅延することを抑制でき、且つ、プリリンギング、すなわち、プリエコーの発生を抑制できる。
よって、フィルタ長NSを適正に設定することによって、最小位相FIRフィルタFPを適正に近似する近似フィルタFAのフィルタ係数CAを生成できる。したがって、フィルタ係数を記憶するメモリの容量を低減できる。
また、図9及び図11を参照して説明したように、線形位相FIRフィルタFPのように、出力信号が入力信号に対して遅延することを抑制でき、且つ、プリリンギング、すなわち、プリエコーの発生を抑制できる。
また、周波数領域フィルタFFの周波数特性を規定するフィルタ係数CFは、第1周波数領域フィルタFF1の周波数特性を規定するフィルタ係数CF1と、第1周波数領域フィルタFF1と相違する第2周波数領域フィルタFF2の周波数特性を規定するフィルタ係数CF2とを、対応する周波数毎に乗算して算出される。
よって、第1周波数領域フィルタFF1の周波数特性と、第2周波数領域フィルタFF2の周波数特性とを合成した周波数特性を有する周波数領域フィルタFFのフィルタ係数CFを算出できる。したがって、第1周波数領域フィルタFF1の周波数特性、及び第2周波数領域フィルタFF2の周波数特性を適正に設定することによって、更に適正な周波数特性の周波数領域フィルタFFのフィルタ係数CFを算出できる。
よって、第1周波数領域フィルタFF1の周波数特性と、第2周波数領域フィルタFF2の周波数特性とを合成した周波数特性を有する周波数領域フィルタFFのフィルタ係数CFを算出できる。したがって、第1周波数領域フィルタFF1の周波数特性、及び第2周波数領域フィルタFF2の周波数特性を適正に設定することによって、更に適正な周波数特性の周波数領域フィルタFFのフィルタ係数CFを算出できる。
また、第1周波数領域フィルタFF1は、周波数毎の振幅を補正するフィルタであり、第2周波数領域フィルタFF2は、周波数帯域を分割するフィルタである。
よって、周波数領域フィルタFFとして、周波数毎の振幅を補正し、周波数帯域を分割する周波数特性を有するフィルタ係数CFを算出できる。したがって、第1周波数領域フィルタFF1及び第2周波数領域フィルタFF2の各々よりも適正な周波数特性を有する周波数領域フィルタFFのフィルタ係数CFを算出できる。
よって、周波数領域フィルタFFとして、周波数毎の振幅を補正し、周波数帯域を分割する周波数特性を有するフィルタ係数CFを算出できる。したがって、第1周波数領域フィルタFF1及び第2周波数領域フィルタFF2の各々よりも適正な周波数特性を有する周波数領域フィルタFFのフィルタ係数CFを算出できる。
また、誤差算出部116は、誤差ERが所定閾値ERA以下ではない場合に、フィルタ長設定部114に対して、設定されたフィルタ長NSよりも長いフィルタ長NSを設定させ、係数生成部115に、最小位相FIRフィルタFPのフィルタ係数CPに対して、フィルタ長設定部114によって設定されたフィルタ長NSへの切出処理と、窓関数による丸め処理とを実行することによって、最小位相FIRフィルタFPを近似する近似フィルタFAのフィルタ係数CAを生成させる。
すなわち、設定されたフィルタ長NSよりも長いフィルタ長NSを設定させ、設定されたフィルタ長NSへの切出処理と、窓関数による丸め処理とを実行することによって、最小位相FIRフィルタFPを近似する近似フィルタFAのフィルタ係数CAを生成させる。
よって、誤差ERの値を低減できる。したがって、最小位相FIRフィルタFPを正確に近似する近似フィルタFAのフィルタ係数CAを生成できる。
すなわち、設定されたフィルタ長NSよりも長いフィルタ長NSを設定させ、設定されたフィルタ長NSへの切出処理と、窓関数による丸め処理とを実行することによって、最小位相FIRフィルタFPを近似する近似フィルタFAのフィルタ係数CAを生成させる。
よって、誤差ERの値を低減できる。したがって、最小位相FIRフィルタFPを正確に近似する近似フィルタFAのフィルタ係数CAを生成できる。
また、誤差算出部116は、複数の特定周波数に対応する誤差を算出し、算出された複数の誤差から誤差ERを算出する。
したがって、複数の特定周波数の各々を適正に設定することによって、簡素な計算で適正な誤差ERを算出できる。
したがって、複数の特定周波数の各々を適正に設定することによって、簡素な計算で適正な誤差ERを算出できる。
また、複数の特定周波数は、1/3オクターブの中心周波数に近い周波数である。
よって、複数の特定周波数の各々を適正に設定できる。したがって、簡素な計算で適正な誤差ERを算出できる。
よって、複数の特定周波数の各々を適正に設定できる。したがって、簡素な計算で適正な誤差ERを算出できる。
また、誤差算出部116は、複数の誤差の二乗和の平方根を、誤差ERとして算出する。
したがって、簡素な計算で適正な誤差ERを算出できる。
したがって、簡素な計算で適正な誤差ERを算出できる。
また、本実施形態の制御プログラムPGMは、制御部11を、周波数領域フィルタFFの周波数特性を規定するフィルタ係数CFを取得する係数取得部111、周波数領域フィルタFFの周波数特性に対してIFFTを施して、時間領域の線形位相FIRフィルタFLのフィルタ係数CLを算出する係数算出部112、線形位相FIRフィルタFLのフィルタ係数CLを、最小位相FIRフィルタFPのフィルタ係数CPに変換する変換部113、最小位相FIRフィルタFPのフィルタ係数CPを記憶する係数記憶部117、フィルタ長NSを設定するフィルタ長設定部114、係数記憶部117から最小位相FIRフィルタFPのフィルタ係数CPを読み出し、最小位相FIRフィルタFPのフィルタ係数CPに対して、フィルタ長設定部114によって設定されたフィルタ長NSへの切出処理と、窓関数による丸め処理とを実行することによって、最小位相FIRフィルタFPを近似する近似フィルタFAのフィルタ係数CAを生成する係数生成部115、近似フィルタFAに対応する周波数特性の周波数領域フィルタFFの周波数特性に対する誤差ERを算出する誤差算出部116、及び、誤差ERが所定閾値ERA以下である場合に、近似フィルタFAのフィルタ係数CAを新規のフィルタFNを規定するフィルタ係数CNとして記憶するフィルタ記憶部118、として機能させる。
したがって、本実施形態の制御プログラムPGMは、本実施形態のフィルタ生成装置1と同様の効果を奏する。
したがって、本実施形態の制御プログラムPGMは、本実施形態のフィルタ生成装置1と同様の効果を奏する。
上述した本実施形態は、あくまでも本発明の一実施形態を例示したものであって、本発明の主旨を逸脱しない範囲で任意に変形、及び応用が可能である。
例えば、図1は、本発明の理解を容易にするために、構成要素を主な処理内容に応じて分類して示した図であり、構成要素は、処理内容に応じて、更に多くの構成要素に分類することもできる。また、1つの構成要素が更に多くの処理を実行するように分類することもできる。
また、各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
また、各構成要素の処理は、1つのプログラムで実現されてもよいし、複数のプログラムで実現されてもよい。
例えば、図1は、本発明の理解を容易にするために、構成要素を主な処理内容に応じて分類して示した図であり、構成要素は、処理内容に応じて、更に多くの構成要素に分類することもできる。また、1つの構成要素が更に多くの処理を実行するように分類することもできる。
また、各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
また、各構成要素の処理は、1つのプログラムで実現されてもよいし、複数のプログラムで実現されてもよい。
また、本実施形態では、フィルタ生成装置1が、パーソナルコンピュータで構成される場合について説明したが、これに限定されない。フィルタ生成装置1が、プロセッサとメモリとを備えればよい。例えば、フィルタ生成装置1が、タブレット型コンピュータで構成されてもよいし、スマートフォンで構成されてもよい。
また、本実施形態では、サンプリング点数が、8192個であるが、これに限定されない。サンプリング点数は、2nであればよい(nは、自然数)。サンプリング点数が、例えば、4096個でもよいし、サンプリング点数が、例えば16384個でもよい。
サンプリング点数が多い程、線形位相FIRフィルタFLのフィルタ係数CL、及び最小位相FIRフィルタFPのフィルタ係数CPを正確に算出できる。
サンプリング点数が少ない程、線形位相FIRフィルタFLのフィルタ係数CL、及び最小位相FIRフィルタFPのフィルタ係数CPを簡素な処理で算出できる。
サンプリング点数が多い程、線形位相FIRフィルタFLのフィルタ係数CL、及び最小位相FIRフィルタFPのフィルタ係数CPを正確に算出できる。
サンプリング点数が少ない程、線形位相FIRフィルタFLのフィルタ係数CL、及び最小位相FIRフィルタFPのフィルタ係数CPを簡素な処理で算出できる。
また、本実施形態では、窓関数がテューキー窓である場合について説明したが、これに限定されない。窓関数が、例えば矩形窓でもよい。
また、本実施形態では、窓関数であるテューキー窓を規定するパラメータrの値が、「0.5」である場合について説明したが、これに限定されない。パラメータrの値は、例えば、0.25~0.75が好ましい。
また、本実施形態では、所定閾値ERAが-20dBである場合について説明したが、これに限定されない。所定閾値ERAが小さい程、近似フィルタFAの近似精度を向上できる。所定閾値ERAが大きい程、近似フィルタFAのフィルタ係数CAのフィルタ長NSを低減できる。
また、本実施形態では、誤差算出部116が、1/3オクターブの中心周波数に近い複数の特定周波数に対応するサンプリング点について誤差ERを算出する場合について説明したが、これに限定されない。誤差算出部116が、近似フィルタFAに対応する周波数特性の周波数領域フィルタFFの周波数特性に対する誤差ERを算出すればよい。例えば、誤差算出部116が、1/6オクターブの中心周波数に近い複数の特定周波数に対応するサンプリング点について誤差ERを算出してもよい。この場合には、更に適正な誤差ERを算出できる。また、例えば、誤差算出部116が、1オクターブの中心周波数に近い複数の特定周波数に対応するサンプリング点について誤差ERを算出してもよい。この場合には、簡素な処理で誤差ERを算出できる。
また、本実施形態では、フィルタ係数CNが、車両に搭載される音声補正装置に記憶される場合について説明したが、これに限定されない。例えば、フィルタ生成装置1が、車両に搭載されてもよい。この場合には、フィルタ生成装置1が、イコライザーに対するユーザーの操作に応じて、適正なフィルタ係数CNを生成し、車両に搭載される音声補正装置に記憶させることができる。
また、本実施形態では、制御プログラムPGMをフィルタ生成装置1の制御部11のメモリ11Bに記憶するが、制御プログラムPGMを他の記録媒体、又はこの制御プログラムPGMを伝送する伝送媒体の態様で構成することも可能である。
記録媒体には、磁気的、光学的記録媒体又は半導体メモリーデバイスを用いることができる。具体的には、フレキシブルディスク、HDD、CD-ROM(Compact Disk Read Only Memory)、DVD、Blu-ray(登録商標) Disc、光磁気ディスク、フラッシュメモリ、カード型記録媒体等の可搬型、或いは固定式の記録媒体が挙げられる。また、上記記録媒体は、フィルタ生成装置1が備えるRAM、ROM、HDD等の不揮発性記憶装置であってもよい。
また、制御プログラムPGMを、フィルタ生成装置1とネットワークを介して通信可能に接続されたサーバ装置からフィルタ生成装置1がダウンロードしてもよい。
記録媒体には、磁気的、光学的記録媒体又は半導体メモリーデバイスを用いることができる。具体的には、フレキシブルディスク、HDD、CD-ROM(Compact Disk Read Only Memory)、DVD、Blu-ray(登録商標) Disc、光磁気ディスク、フラッシュメモリ、カード型記録媒体等の可搬型、或いは固定式の記録媒体が挙げられる。また、上記記録媒体は、フィルタ生成装置1が備えるRAM、ROM、HDD等の不揮発性記憶装置であってもよい。
また、制御プログラムPGMを、フィルタ生成装置1とネットワークを介して通信可能に接続されたサーバ装置からフィルタ生成装置1がダウンロードしてもよい。
また、例えば、図10に示すフローチャートの処理単位は、フィルタ生成装置1の制御部11の処理の理解を容易にするために、主な処理内容に応じて分割したものであり、処理単位の分割の仕方や名称によって、本発明が限定されることはない。フィルタ生成装置1の制御部11の処理は、処理内容に応じて、更に多くの処理単位に分割してもよい。また、フィルタ生成装置1の制御部11の処理は、1つの処理単位が更に多くの処理を含むように分割してもよい。
1 フィルタ生成装置
11 制御部(コンピュータ)
11A プロセッサ
11B メモリ
111 係数取得部
112 係数算出部
113 変換部
114 フィルタ長設定部
115 係数生成部
116 誤差算出部
117 係数記憶部
118 フィルタ記憶部
12 操作部
13 表示部
14 記憶部
AT 振幅
CA、CF、CF1、CF2、CL、CN、CP フィルタ係数
ER 誤差
ERA 所定閾値
FF 周波数領域フィルタ
FF1 第1周波数領域フィルタ
FF2 第2周波数領域フィルタ
FL 線形位相FIRフィルタ
FP 最小位相FIRフィルタ
FA 近似フィルタ
FN フィルタ
FR 周波数
GN ゲイン
NS フィルタ長
PGM 制御プログラム(フィルタ生成プログラム)
PP ピーク信号
PR 領域
RC、RD1、RD2 範囲
SM サンプリング点
TD 遅延時間
TM 時間
Xn、Yn 変数
11 制御部(コンピュータ)
11A プロセッサ
11B メモリ
111 係数取得部
112 係数算出部
113 変換部
114 フィルタ長設定部
115 係数生成部
116 誤差算出部
117 係数記憶部
118 フィルタ記憶部
12 操作部
13 表示部
14 記憶部
AT 振幅
CA、CF、CF1、CF2、CL、CN、CP フィルタ係数
ER 誤差
ERA 所定閾値
FF 周波数領域フィルタ
FF1 第1周波数領域フィルタ
FF2 第2周波数領域フィルタ
FL 線形位相FIRフィルタ
FP 最小位相FIRフィルタ
FA 近似フィルタ
FN フィルタ
FR 周波数
GN ゲイン
NS フィルタ長
PGM 制御プログラム(フィルタ生成プログラム)
PP ピーク信号
PR 領域
RC、RD1、RD2 範囲
SM サンプリング点
TD 遅延時間
TM 時間
Xn、Yn 変数
Claims (8)
- 周波数領域フィルタの周波数特性を規定するフィルタ係数を取得する係数取得部と、
前記周波数特性に対してIFFTを施して、時間領域の線形位相FIRフィルタのフィルタ係数を算出する係数算出部と、
前記線形位相FIRフィルタのフィルタ係数を、最小位相FIRフィルタのフィルタ係数に変換する変換部と、
前記最小位相FIRフィルタのフィルタ係数を記憶する係数記憶部と、
フィルタ長を設定するフィルタ長設定部と、
前記係数記憶部から前記最小位相FIRフィルタのフィルタ係数を読み出し、前記最小位相FIRフィルタのフィルタ係数に対して、前記フィルタ長設定部によって設定されたフィルタ長への切出処理と、窓関数による丸め処理とを実行することによって、前記最小位相FIRフィルタを近似する近似フィルタのフィルタ係数を生成する係数生成部と、
前記近似フィルタに対応する周波数特性の前記周波数領域フィルタの周波数特性に対する誤差を算出する誤差算出部と、
前記誤差が所定閾値以下である場合に、前記近似フィルタのフィルタ係数を新規のフィルタを規定するフィルタ係数として記憶するフィルタ記憶部と、
を備える、フィルタ生成装置。 - 前記周波数領域フィルタの周波数特性を規定するフィルタ係数は、第1周波数領域フィルタの周波数特性を規定するフィルタ係数と、前記第1周波数領域フィルタと相違する第2周波数領域フィルタの周波数特性を規定するフィルタ係数とを、対応する周波数毎に乗算して算出される、
請求項1に記載のフィルタ生成装置。 - 前記第1周波数領域フィルタは、周波数毎の振幅を補正するフィルタであり、
前記第2周波数領域フィルタは、周波数帯域を分割するフィルタである、
請求項2に記載のフィルタ生成装置。 - 前記誤差算出部は、前記誤差が前記所定閾値以下ではない場合に、
前記フィルタ長設定部に対して、設定されたフィルタ長よりも長いフィルタ長を設定させ、
前記係数生成部に、前記最小位相FIRフィルタのフィルタ係数に対して、前記フィルタ長設定部によって設定されたフィルタ長への切出処理と、前記丸め処理とを実行することによって、前記最小位相FIRフィルタを近似する近似フィルタのフィルタ係数を生成させる、
請求項1から請求項3のいずれか1項に記載のフィルタ生成装置。 - 前記誤差算出部は、複数の特定周波数に対応する誤差を算出し、算出された複数の誤差から前記誤差を算出する、
請求項1から請求項4のいずれか1項に記載のフィルタ生成装置。 - 前記複数の特定周波数は、1/3オクターブの中心周波数に近い周波数である、
請求項5に記載のフィルタ生成装置。 - 前記誤差算出部は、前記複数の誤差の二乗和の平方根を、前記誤差として算出する、
請求項5又は請求項6に記載のフィルタ生成装置。 - コンピュータを、
周波数領域フィルタの周波数特性を規定するフィルタ係数を取得する係数取得部、
前記周波数特性に対してIFFTを施して、時間領域の線形位相FIRフィルタのフィルタ係数を算出する係数算出部、
前記線形位相FIRフィルタのフィルタ係数を、最小位相FIRフィルタのフィルタ係数に変換する変換部、
前記最小位相FIRフィルタのフィルタ係数を記憶する係数記憶部、
フィルタ長を設定するフィルタ長設定部、
前記係数記憶部から前記最小位相FIRフィルタのフィルタ係数を読み出し、前記最小位相FIRフィルタのフィルタ係数に対して、前記フィルタ長設定部によって設定されたフィルタ長への切出処理と、窓関数による丸め処理とを実行することによって、前記最小位相FIRフィルタを近似する近似フィルタのフィルタ係数を生成する係数生成と、
前記近似フィルタに対応する周波数特性の前記周波数領域フィルタの周波数特性に対する誤差を算出する誤差算出部、及び、
前記誤差が所定閾値以下である場合に、前記近似フィルタのフィルタ係数を新規のフィルタを規定するフィルタ係数として記憶するフィルタ記憶部、
として機能させる、フィルタ生成プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020209308A JP2022096287A (ja) | 2020-12-17 | 2020-12-17 | フィルタ生成装置、及びフィルタ生成プログラム |
US17/547,415 US11792571B2 (en) | 2020-12-17 | 2021-12-10 | Filter generation apparatus and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020209308A JP2022096287A (ja) | 2020-12-17 | 2020-12-17 | フィルタ生成装置、及びフィルタ生成プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022096287A true JP2022096287A (ja) | 2022-06-29 |
Family
ID=82022781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020209308A Withdrawn JP2022096287A (ja) | 2020-12-17 | 2020-12-17 | フィルタ生成装置、及びフィルタ生成プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US11792571B2 (ja) |
JP (1) | JP2022096287A (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104681034A (zh) * | 2013-11-27 | 2015-06-03 | 杜比实验室特许公司 | 音频信号处理 |
JP6556463B2 (ja) | 2015-03-02 | 2019-08-07 | クラリオン株式会社 | フィルタ生成装置、フィルタ生成方法およびフィルタ生成プログラム |
-
2020
- 2020-12-17 JP JP2020209308A patent/JP2022096287A/ja not_active Withdrawn
-
2021
- 2021-12-10 US US17/547,415 patent/US11792571B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20220201396A1 (en) | 2022-06-23 |
US11792571B2 (en) | 2023-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4753821B2 (ja) | 音信号補正方法、音信号補正装置及びコンピュータプログラム | |
JP6764923B2 (ja) | 音声処理方法、装置、デバイスおよび記憶媒体 | |
US11380312B1 (en) | Residual echo suppression for keyword detection | |
CN113241082B (zh) | 变声方法、装置、设备和介质 | |
EP2689419B1 (en) | Method and arrangement for damping dominant frequencies in an audio signal | |
JP4738213B2 (ja) | 利得調整方法及び利得調整装置 | |
JP2023536104A (ja) | 機械学習を用いたノイズ削減 | |
JPWO2017208819A1 (ja) | 局所音場形成装置および方法、並びにプログラム | |
EP2360686B9 (en) | Signal processing method and apparatus for enhancing speech signals | |
US9697848B2 (en) | Noise suppression device and method of noise suppression | |
US11308970B2 (en) | Voice correction apparatus and voice correction method | |
US20170323656A1 (en) | Signal processor | |
JP2022096287A (ja) | フィルタ生成装置、及びフィルタ生成プログラム | |
US20160189725A1 (en) | Voice Processing Method and Apparatus, and Recording Medium Therefor | |
US11763828B2 (en) | Frequency band expansion device, frequency band expansion method, and storage medium storing frequency band expansion program | |
US10362396B2 (en) | Phase control signal generation device, phase control signal generation method, and phase control signal generation program | |
JP6304643B2 (ja) | スピーカーの非線形歪低減装置、方法、及びプログラム | |
EP3444946A1 (en) | Acoustic processing device and acoustic processing method | |
Marin-Hurtado et al. | FFT-based block processing in speech enhancement: potential artifacts and solutions | |
US10743126B2 (en) | Method and apparatus for controlling acoustic signals to be recorded and/or reproduced by an electro-acoustical sound system | |
CN117116245B (zh) | 声音信号的谐波生成方法、装置、设备及存储介质 | |
US20240185875A1 (en) | System and method for replicating background acoustic properties using neural networks | |
US20220319529A1 (en) | Computer-readable recording medium storing noise determination program, noise determination method, and noise determination apparatus | |
JP3869823B2 (ja) | 音声の周波数特性の等化装置 | |
JP2015206874A (ja) | 信号処理装置、信号処理方法、及び、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231031 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20240514 |