[go: up one dir, main page]

JP5774475B2 - Apparatus and method for SRC by extracting and synthesizing impulse response - Google Patents

Apparatus and method for SRC by extracting and synthesizing impulse response Download PDF

Info

Publication number
JP5774475B2
JP5774475B2 JP2011509371A JP2011509371A JP5774475B2 JP 5774475 B2 JP5774475 B2 JP 5774475B2 JP 2011509371 A JP2011509371 A JP 2011509371A JP 2011509371 A JP2011509371 A JP 2011509371A JP 5774475 B2 JP5774475 B2 JP 5774475B2
Authority
JP
Japan
Prior art keywords
data
coefficient
frequency
impulse response
original data
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.)
Expired - Fee Related
Application number
JP2011509371A
Other languages
Japanese (ja)
Other versions
JPWO2010119963A1 (en
Inventor
栄樹 大嶋
栄樹 大嶋
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.)
UNITEDWORKS INC.
Original Assignee
UNITEDWORKS INC.
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 UNITEDWORKS INC. filed Critical UNITEDWORKS INC.
Priority to JP2011509371A priority Critical patent/JP5774475B2/en
Publication of JPWO2010119963A1 publication Critical patent/JPWO2010119963A1/en
Application granted granted Critical
Publication of JP5774475B2 publication Critical patent/JP5774475B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/06Non-recursive filters
    • H03H17/0621Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0223Computation saving measures; Accelerating measures

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Analogue/Digital Conversion (AREA)

Description

本発明は、離散的なデータからの変換によってサンプリング周波数等の仕様が異なる新たなデータを得るための、SRC(Sampling Rate Conversion;サンプリング周波数レート変換)の装置及び方法に関する。   The present invention relates to an apparatus and method for SRC (Sampling Rate Conversion) for obtaining new data having different specifications such as sampling frequency by conversion from discrete data.

音声(オーディオ)のサンプリング周波数レートの変換や、画像の解像度変換又はフレームレート変換に適用可能な広義のサンプリング周波数レート変換法として、音声や画像のデジタル信号処理に際して有限のタップ数で構成されるFIRフィルター(Finite Impulse Response Filter)を用いるものが知られている(例えば、特許文献1参照)。   FIR configured with a finite number of taps for digital signal processing of audio and images as a sampling frequency rate conversion method in a broad sense that can be applied to audio (audio) sampling frequency rate conversion, image resolution conversion or frame rate conversion One using a filter (Finite Impulse Response Filter) is known (for example, see Patent Document 1).

なお、サンプリング周波数レート変換後に、変換後の複数の周波数に対応する複数のFIRフィルターによって出力を生成するものもある(特許文献2参照)。   In some cases, after sampling frequency rate conversion, an output is generated by a plurality of FIR filters corresponding to a plurality of converted frequencies (see Patent Document 2).

特開2005−217837号公報JP 2005-217837 A 特開2008−109279号公報JP 2008-109279 A

しかしながら、上記特許文献1においては、FIRフィルターを構成するインパルス応答が固定的に定められており、例えば整数倍にサンプリング周波数レートを上げて得た2つのサンプル間を線形補間しているため、元の周波数から新たな周波数への変換の比率である周波数変換レートによっては、変換に時間を要し高速化が困難であったり、変換後のデータの質が下がったりする可能性がある。   However, in the above-mentioned Patent Document 1, the impulse response constituting the FIR filter is fixedly determined, and for example, linear interpolation is performed between two samples obtained by increasing the sampling frequency rate to an integral multiple. Depending on the frequency conversion rate, which is the ratio of conversion from one frequency to a new frequency, it may take time for conversion and it may be difficult to increase the speed, or the data quality after conversion may be reduced.

そこで、本発明は、高速かつ高精度のデータの変換を可能とするサンプリング周波数レート変換(SRC)の装置及び方法を提供することを目的とする。   Therefore, an object of the present invention is to provide a sampling frequency rate conversion (SRC) apparatus and method that enable high-speed and high-precision data conversion.

上記課題を解決するため、本発明に係るインパルス応答の抽出合成によるサンプリング周波数レート変換(SRC)の装置及び方法が開発された。なお、以下に記載のサンプリング周波数レート変換とは、特に説明しない限り広義のものを意味し、狭義のサンプリング周波数レート変換のほか、画像等に関する解像度変換又はフレームレート変換等の各種データ変換処理を含むものとする。   In order to solve the above problems, an apparatus and method for sampling frequency rate conversion (SRC) based on extraction and synthesis of impulse responses according to the present invention have been developed. The sampling frequency rate conversion described below means a broad meaning unless otherwise specified, and includes various data conversion processes such as resolution conversion or frame rate conversion related to images, etc., in addition to narrow sampling frequency rate conversion. Shall be.

本発明に係るサンプリング周波数レート変換の装置は、(a)離散的な元のデータから変換によって得ようとする新たなデータに対応する時間補間位置での変換値を与えるため時間補間位置に応じた離散インパルス応答関数に基づいてフィルター係数を準備する係数準備手段と、(b)係数準備手段において準備されたフィルター係数を用いて、元のデータの畳み込み演算により時間補間位置における変換値を算出するデータ算出手段とを備える。なお、係数準備手段による上記のようなフィルター係数の準備には、当該フィルター係数を出力又は作用可能な回路、プログラム等を組み込むことのみならず、別途準備されたフィルター係数をメモリに単に保持することも含まれるものとする。   The sampling frequency rate conversion apparatus according to the present invention provides (a) a conversion value at a time interpolation position corresponding to new data to be obtained by conversion from discrete original data, in accordance with the time interpolation position. Data for calculating a conversion value at the time interpolation position by convolution of the original data using the coefficient preparation means for preparing the filter coefficient based on the discrete impulse response function, and (b) the filter coefficient prepared in the coefficient preparation means. Calculating means. It should be noted that the preparation of the filter coefficient as described above by the coefficient preparation means not only incorporates a circuit or program capable of outputting or operating the filter coefficient but also simply holding the separately prepared filter coefficient in the memory. Is also included.

上記サンプリング周波数レート変換の装置では、係数準備手段により、新たなデータに対応する時間補間位置での変換値を与えるための離散インパルス応答関数に基づくフィルター係数を準備し、データ算出手段により、当該フィルター係数を用いて、元のデータの畳み込み演算により時間補間位置における変換値が直接的に算出されるので、元のデータを非常に高速かつ高品質な状態で変換してサンプリング周波数レートに関して仕様の異なる新たなデータを得ることが可能となる。   In the sampling frequency rate conversion apparatus, the coefficient preparation unit prepares a filter coefficient based on a discrete impulse response function for giving a conversion value at a time interpolation position corresponding to new data, and the data calculation unit calculates the filter. Since the conversion value at the time interpolation position is directly calculated by the convolution operation of the original data using the coefficient, the original data is converted in a very high speed and high quality state, and the sampling frequency rate has different specifications. New data can be obtained.

また、本発明の具体的な態様では、(a)係数準備手段が、離散インパルス応答関数に基づくフィルター係数として係数テーブルを準備し、(b)データ算出手段が、係数テーブルの各データと元のデータとの畳み込み演算により変換値を算出する。この場合、係数テーブルを利用したデジタルデータ処理により極限的に高速でかつ高品質なデータの変換が可能となる。   Further, in a specific aspect of the present invention, (a) the coefficient preparation unit prepares a coefficient table as a filter coefficient based on the discrete impulse response function, and (b) the data calculation unit includes each data of the coefficient table and the original A conversion value is calculated by a convolution operation with data. In this case, digital data processing using a coefficient table enables extremely high-speed and high-quality data conversion.

また、本発明の別の態様では、係数準備手段が、元のデータについてのサンプリング周期と、新たなデータについてのサンプリング周期との差に対応して設定される一連の時間補間位置での変換値を与えるように離散インパルス応答関数を決定する。この場合、時間補間位置ごとに定まる一群の離散インパルス応答関数に基づいて与えられる係数フィルターによって特定のサンプリング周波数に設定された元のデータから別のサンプリング周波数に設定された新たなデータへとサンプリング周波数レート変換が可能となる。   In another aspect of the present invention, the coefficient preparation means converts the conversion values at a series of time interpolation positions set corresponding to the difference between the sampling period for the original data and the sampling period for the new data. The discrete impulse response function is determined so as to give In this case, the sampling frequency is changed from the original data set to a specific sampling frequency to new data set to another sampling frequency by a coefficient filter given based on a group of discrete impulse response functions determined for each time interpolation position. Rate conversion is possible.

また、本発明の別の態様では、離散インパルス応答関数に基づいてフィルター係数を設定することによって、任意の波数帯域を選択する。例えば、所定値以上の高周波数帯域を遮断することができるように、フィルター係数が設定される。この場合、データ変換に付随するノイズの発生を抑制することができる。   In another aspect of the present invention, an arbitrary wavenumber band is selected by setting a filter coefficient based on a discrete impulse response function. For example, the filter coefficient is set so that a high frequency band equal to or higher than a predetermined value can be cut off. In this case, generation of noise accompanying data conversion can be suppressed.

また、本発明の別の態様では、係数準備手段が、元のデータのサンプリング周波数と新たなデータのサンプリング周波数とのうち、低い周波数を所定値以上の高周波数帯域の遮断の基準とする。この場合、周波数変換に際してエイリアシングや折り返し雑音によるノイズの発生を抑制することができる。   In another aspect of the present invention, the coefficient preparation means uses a lower frequency as a reference for cutting off a high frequency band equal to or higher than a predetermined value among the sampling frequency of the original data and the sampling frequency of the new data. In this case, generation of noise due to aliasing or aliasing noise can be suppressed during frequency conversion.

また、本発明の別の態様では、係数準備手段が、元のデータの離散点と時間補間位置との差に相当する所定パラメーターの変化に応じて離散インパルス応答関数に基づくフィルター係数を準備する。この場合、当該離散インパルス応答関数に基づくフィルター係数は、所定パラメーターの変化によって振動又は変動する固定的でないフィルターとして機能する。   In another aspect of the present invention, the coefficient preparation means prepares a filter coefficient based on a discrete impulse response function according to a change in a predetermined parameter corresponding to a difference between a discrete point of original data and a time interpolation position. In this case, the filter coefficient based on the discrete impulse response function functions as a non-fixed filter that oscillates or fluctuates due to a change in a predetermined parameter.

また、本発明の別の態様では、係数準備手段が、離散インパルス応答関数及び窓関数に基づいてフィルター係数を補正している。この場合、窓関数を用いた補正により、有限の離散点を抽出した演算処理での計算値の不連続性を緩和することができる。なお、窓関数は、離散インパルス応答関数に作用させることができるものである。   According to another aspect of the present invention, the coefficient preparation unit corrects the filter coefficient based on the discrete impulse response function and the window function. In this case, the discontinuity of the calculated value in the arithmetic processing in which the finite discrete points are extracted can be relaxed by the correction using the window function. The window function can be applied to the discrete impulse response function.

また、本発明の別の態様では、係数準備手段が、離散インパルス応答関数に基づくフィルター係数を正規化するための正規化手段をさらに有する。この場合、正規化処理を行うことで、処理すべき情報をより再現性の高いものとすることができる。   In another aspect of the present invention, the coefficient preparation means further includes normalization means for normalizing filter coefficients based on the discrete impulse response function. In this case, by performing the normalization process, the information to be processed can be made more reproducible.

また、本発明の別の態様では、新たなデータが、元のデータから復元される関数に基づいて生成される。この場合、復元された当該関数には、任意の値(理論上は、有理数のみならず無理数を含む)を代入することができ、例えば、新たなデータに対応する時間補間位置を代入することで厳密な理論値に近い新たなデータを求めることが可能となる。   In another aspect of the present invention, new data is generated based on a function that is restored from the original data. In this case, an arbitrary value (in theory, including an irrational number as well as a rational number) can be assigned to the restored function. For example, a time interpolation position corresponding to new data is assigned. Thus, it is possible to obtain new data close to the exact theoretical value.

また、本発明の別の態様では、元のデータから復元される関数が、時刻tの関数Y(t)であり、Tを、元のデータのサンプリング周期とし、Y(nT)を、元のデータとし、fを、元のデータのサンプリング周波数とし、fを、元のデータのサンプリング周波数と新たなデータのサンプリング周波数とのうち小さい方の値として、以下の数式

Figure 0005774475
やその近似式を用いて表現される。この場合、当該数式により、エイリアシングの発生を防止しつつ、元のデータによるアナログ信号の復元を利用することで理論的に厳密な関数に基づいた離散インパルス応答関数の決定が可能となる。In another aspect of the present invention, the function restored from the original data is a function Y (t) at time t, T is the sampling period of the original data, and Y (nT) is the original data and data, the f s, and the sampling frequency of original data, the f c, as the value of the smaller of the sampling frequency of the new data and the sampling frequency of original data, the following equation
Figure 0005774475
And its approximate expression. In this case, it is possible to determine a discrete impulse response function based on a theoretically exact function by using the restoration of the analog signal based on the original data while preventing the occurrence of aliasing.

また、本発明の別の態様では、新たなデータが、Tを、新たなデータのサンプリング周期とし、Prを、元のデータの離散点と時間補間位置との差に相当する所定パラメーターとし、いずれも整数であるn及びmによりPr=nT−mと表されるものとして、以下の数式

Figure 0005774475
又はnを有限値とする窓関数を用いた近似式を用いて表現される。この場合、当該所定パラメーターの変化又は変更によって振動又は変動する固定的でないフィルターにより新しいデータが生成される。In another aspect of the present invention, the new data has Tb as the new data sampling period, Pr as a predetermined parameter corresponding to the difference between the discrete points of the original data and the time interpolation position, Assuming that Pr = n 0 T−m 0 T b is expressed by n 0 and m 0 which are both integers,
Figure 0005774475
Alternatively, it is expressed using an approximate expression using a window function with n as a finite value. In this case, new data is generated by a non-fixed filter that vibrates or fluctuates due to a change or change in the predetermined parameter.

上記課題を解決するため、本発明に係るサンプリング周波数レート変換の方法は、(a)離散的な元のデータから変換によって得ようとする新たなデータに対応する時間補間位置での変換値を与えるため離散的に設定された離散インパルス応答関数に基づいてフィルター係数を準備する係数準備工程と、(b)係数準備工程において準備されたフィルター係数を用いて、元のデータの畳み込み演算により時間補間位置における変換値を算出するデータ算出工程とを備える。   In order to solve the above problems, a sampling frequency rate conversion method according to the present invention provides (a) a conversion value at a time interpolation position corresponding to new data to be obtained by conversion from discrete original data. Therefore, a coefficient preparation step for preparing filter coefficients based on discrete impulse response functions set discretely, and (b) a time interpolation position by convolution calculation of the original data using the filter coefficients prepared in the coefficient preparation step And a data calculation step for calculating a conversion value at.

上記サンプリング周波数レート変換の方法では、係数準備工程において、新たなデータに対応する時間補間位置での変換値を与えるための離散インパルス応答関数に基づくフィルター係数を準備し、データ算出工程において、当該フィルター係数を用いて、元のデータの畳み込み演算により時間補間位置における変換値が算出されるので、元のデータを非常に高速で変換し、スペクトル的に高品質な状態の新たなデータを得ることが可能となる。   In the sampling frequency rate conversion method, a filter coefficient based on a discrete impulse response function for providing a conversion value at a time interpolation position corresponding to new data is prepared in the coefficient preparation step, and the filter is calculated in the data calculation step. Using the coefficient, the conversion value at the time interpolation position is calculated by convolution of the original data, so the original data can be converted at a very high speed to obtain new data in a spectrally high quality state. It becomes possible.

また、本発明の具体的な態様では、(a)係数準備工程において、離散インパルス応答関数に基づくフィルター係数として係数テーブルを準備し、(b)データ算出工程において、係数テーブルの各データと元のデータとの畳み込み演算により変換値を算出し、(c)係数準備工程において、元のデータについてのサンプリング周期と、新たなデータについてのサンプリング周期との差に対応して一連の時間補間位置での変換値を与えるように離散インパルス応答関数を決定する。   In a specific aspect of the present invention, (a) in the coefficient preparation step, a coefficient table is prepared as a filter coefficient based on the discrete impulse response function, and (b) in the data calculation step, each data in the coefficient table and the original A conversion value is calculated by a convolution operation with data, and (c) in the coefficient preparation step, a series of time interpolation positions corresponding to the difference between the sampling period for the original data and the sampling period for the new data is calculated. A discrete impulse response function is determined so as to give a converted value.

また、本発明の別の態様では、新たなデータが、Tを、元のデータのサンプリング周期とし、Tを、新たなデータのサンプリング周期とし、Y(nT)を、元のデータとし、fを、元のデータのサンプリング周波数とし、fを、元のデータのサンプリング周波数と新たなデータのサンプリング周波数とのうち小さい方の値とし、Prを、元のデータの離散点と時間補間位置との差に相当する所定パラメーターとし、いずれも整数であるn及びmによりPr=nT−mと表されるものとして、以下の数式

Figure 0005774475
又はnを有限値とする窓関数を用いた近似式を用いて表現される。この場合、変換においてエイリアシングによるノイズの発生が抑制され、また、当該所定パラメーターの変化によって振動又は変動する固定的でないフィルターにより新しいデータが生成される。In another aspect of the present invention, the new data has T as the sampling period of the original data, T b as the sampling period of the new data, Y (nT) as the original data, and f the s, the sampling frequency of original data, the f c, a smaller value of the sampling frequency of the new data and the sampling frequency of original data, the Pr, discrete points of the original data and the temporal interpolation position As a predetermined parameter corresponding to the difference between the two, both are integers n 0 and m 0 and are expressed as Pr = n 0 T−m 0 T b ,
Figure 0005774475
Alternatively, it is expressed using an approximate expression using a window function with n as a finite value. In this case, generation of noise due to aliasing is suppressed in the conversion, and new data is generated by a non-fixed filter that vibrates or fluctuates due to the change of the predetermined parameter.

第1実施形態に係るサンプリング周波数レート変換の装置の構造を模式的に示すブロック図である。It is a block diagram which shows typically the structure of the apparatus of the sampling frequency rate conversion which concerns on 1st Embodiment. (A)〜(C)は、サンプリング周波数レート変換の装置による元のデータから新たなデータの生成について説明するための図である。(A)-(C) is a figure for demonstrating the production | generation of new data from the original data by the apparatus of sampling frequency rate conversion. サンプリング周波数レート変換の装置による信号の準備処理を概念的に示す図である。It is a figure which shows notionally the signal preparation process by the apparatus of sampling frequency rate conversion. インパルス応答関数に基づいて、離散インパルス応答関数の係数テーブルを準備する工程について説明するためのフローチャートである。It is a flowchart for demonstrating the process of preparing the coefficient table of a discrete impulse response function based on an impulse response function. インパルス応答関数に基づいて、離散インパルス応答関数の係数テーブルを準備する工程について説明するためのフローチャートである。It is a flowchart for demonstrating the process of preparing the coefficient table of a discrete impulse response function based on an impulse response function. インパルス応答関数に基づいて、離散インパルス応答関数の係数テーブルを準備する工程について説明するためのフローチャートである。It is a flowchart for demonstrating the process of preparing the coefficient table of a discrete impulse response function based on an impulse response function. インパルス応答関数に基づいて、離散インパルス応答関数の係数テーブルを準備する工程について説明するためのフローチャートである。It is a flowchart for demonstrating the process of preparing the coefficient table of a discrete impulse response function based on an impulse response function. インパルス応答関数に基づいて、離散インパルス応答関数の係数テーブルを準備する工程について説明するためのフローチャートである。It is a flowchart for demonstrating the process of preparing the coefficient table of a discrete impulse response function based on an impulse response function. 係数テーブルを用いた畳み込み演算により変換値を算出して新たなデータを出力する工程について説明するためのフローチャートである。It is a flowchart for demonstrating the process of calculating a conversion value by the convolution operation using a coefficient table, and outputting new data. 係数テーブルを用いた畳み込み演算により変換値を算出して新たなデータを出力する工程について説明するためのフローチャートである。It is a flowchart for demonstrating the process of calculating a conversion value by the convolution operation using a coefficient table, and outputting new data. 第2実施形態に係るサンプリング周波数レート変換の装置の構成を説明する概念図である。It is a conceptual diagram explaining the structure of the apparatus of the sampling frequency rate conversion which concerns on 2nd Embodiment.

〔第1実施形態〕
以下、図1及び図2を参照して、本発明の第1実施形態に係るサンプリング周波数レート変換の装置及び当該サンプリング周波数レート変換の装置によるデータ変換の原理について説明する。
[First Embodiment]
Hereinafter, the sampling frequency rate conversion apparatus according to the first embodiment of the present invention and the principle of data conversion by the sampling frequency rate conversion apparatus will be described with reference to FIGS.

図1に示す信号処理装置10は、元のデータ列を変換して、サンプリングレートに関して仕様の異なる新たなデータ列を出力するサンプリング周波数レート変換の装置であり、メインの制御を行うCPU20と、演算処理プログラム等の各種プログラムやその他の情報を保管しているROM30と、処理の対象となるサンプルデータ等の情報を一時的に記憶し保管するRAM40と、外部から入力されるデータを受信するための入力インターフェース部51と、外部に対してデータを送信するための出力インターフェース部52とを備える。   A signal processing device 10 shown in FIG. 1 is a sampling frequency rate conversion device that converts an original data sequence and outputs a new data sequence with different specifications with respect to the sampling rate. ROM 30 for storing various programs such as processing programs and other information, RAM 40 for temporarily storing and storing information such as sample data to be processed, and for receiving data input from the outside An input interface unit 51 and an output interface unit 52 for transmitting data to the outside are provided.

ここでは、信号処理装置10に入力される元のデータ列Y(nT)は、音声その他の時系列的なデジタルデータであり、サンプリング周波数がf、サンプリング周期がT(T=1/f)であるものとする。一方、出力されるデータ列Y(mT)は、同様のデジタルデータであるが、サンプリング周波数がf、サンプリング周期がT(T=1/f)であるものとする。つまり、信号処理装置10は、狭義のサンプリング周波数レート変換を行っており、CPU20を用いた処理等により、元のデータ列Y(nT)から、元のサンプリング周波数f及び新たなサンプリング周波数fに基づいて、サンプリング周波数レート変換された新たなデータ列Y(mT)を作成している。なお、以上の説明において、n、mは整数である。Here, the original data string Y (nT) input to the signal processing apparatus 10 is audio or other time-series digital data, the sampling frequency is f s , and the sampling period is T (T = 1 / f s). ). On the other hand, the output data string Y (mT b ) is similar digital data, but the sampling frequency is f b and the sampling period is T b (T b = 1 / f b ). In other words, the signal processing apparatus 10 performs narrow sampling frequency rate conversion, and the original sampling frequency f s and the new sampling frequency f b are converted from the original data string Y (nT) by processing using the CPU 20 or the like. Based on the above, a new data string Y (mT b ) subjected to sampling frequency rate conversion is created. In the above description, n and m are integers.

図2(A)〜2(C)は、信号処理装置10において元のデータ列Y(nT)から新たなデータ列Y(mT)を生成する様子を模式的に示す図である。つまり、図2(A)に模式的に示す元の離散的なデータ列Y(nT)から、後述する図2(B)のデータ処理工程を経て、図2(C)に示す周波数の変換された新しい離散的なデータ列Y(mT)が作成されている。ここで、図2(A)〜2(C)に示すように、両データ列Y(nT)、Y(mT)の周期T,T(即ち周波数f,f)は、互いに異なっている。つまり、図1の信号処理装置10は、変換前後の周期T(=1/f)、T(=1/f)の差に対応して、元の周期T(=1/f)のデータ列Y(nT)に対してサンプリング周期又はサンプリング周波数のレート変換の処理を行い、新たな周期T(=1/f)のデータ列Y(mT)を作成している。2A to 2C are diagrams schematically illustrating a state in which a new data string Y (mT b ) is generated from the original data string Y (nT) in the signal processing device 10. That is, the frequency shown in FIG. 2C is converted from the original discrete data string Y (nT) schematically shown in FIG. 2A through the data processing step in FIG. A new discrete data string Y (mT b ) is created. Here, as shown in FIGS. 2 (A) to 2 (C), the periods T and T b (that is, frequencies f s and f b ) of both data strings Y (nT) and Y (mT b ) are different from each other. ing. That is, the signal processing device 10 of FIG. 1, the period before and after the conversion T (= 1 / f s) , corresponding to the difference between T b (= 1 / f b ), the original period T (= 1 / f s It performs processing rate conversion of the sampling period or sampling frequency for the data sequence Y (nT)) of, and create a new period T b (= 1 / f b ) of the data sequence Y (mT b).

以下、信号処理装置10におけるサンプリング周波数のレート変換の処理について説明する。まず、離散的な元のデータ列Y(nT)について、既述のように、サンプリング周期をT、元の周波数であるサンプリング周波数をf(即ちT=1/f)とすると、標本化入力信号である元のデータ列Y(nT)から復元される関数は、シャノンの標本化定理により、

Figure 0005774475
となる。ここで、式(1)のうち、
Figure 0005774475
の部分は、アナログ再生のためのインパルス応答関数である。つまり、復元される関数Y(t)は、連続的な時間tの関数であり、標本化入力信号であるデータ列Y(nT)とインパルス応答関数η(t,n)との積和演算によって再現されている。この関数によるアナログ波再生の手法でサンプリングレート変換のための補間が可能である。本手法の応用による補間の場合には、元の周期Tと新たな周期Tとは異なるため、図2(A)〜2(C)に示すように、例えば元のデータ列Y(nT)のn番目の値に対応する時間即ち離散点nTと、新たなデータ列Y(mT)のうち離散点nTを最寄りとするm番目の値に対応して設けられる時間補間位置mとには差があり、この差に相当する所定パラメーターである差分補間位置Pr(図2(B)参照)を考慮する必要がある。しかし、この再生式そのままの応用による補間であると、エイリアシング発生と折り返し雑音発生との問題があり、再生周波数帯の抑制のための式修正が必要である。このことについては、式(8)以下に説明する。Hereinafter, rate conversion processing of the sampling frequency in the signal processing apparatus 10 will be described. First, with respect to the discrete original data string Y (nT), if the sampling period is T and the sampling frequency, which is the original frequency, is f s (ie, T = 1 / f s ) as described above, sampling is performed. The function restored from the original data string Y (nT) that is the input signal is expressed by Shannon's sampling theorem.
Figure 0005774475
It becomes. Here, in formula (1),
Figure 0005774475
Is an impulse response function for analog reproduction. That is, the restored function Y (t) is a function of a continuous time t, and is obtained by multiply-accumulate the data string Y (nT) that is the sampling input signal and the impulse response function η (t, n). It has been reproduced. Interpolation for sampling rate conversion is possible by analog wave reproduction using this function. In the case of interpolation by application of this technique is different from the new period T b and original period T, as shown in FIG. 2 (A) ~2 (C) , for example, the original data sequence Y (nT) n 0 th time or discrete points n corresponding to the value 0 T and the time provided corresponding to m 0 th value to the nearest discrete points n 0 T of the new data string Y (mT b) of There is a difference from the interpolation position m 0 T b, and it is necessary to consider the difference interpolation position Pr (see FIG. 2B), which is a predetermined parameter corresponding to this difference. However, if interpolation is performed by applying the reproduction formula as it is, there is a problem of aliasing and aliasing, and it is necessary to correct the formula to suppress the reproduction frequency band. This will be described below in Equation (8).

以下、元のデータ列Y(nT)のn番目の点(離散点nTに対応)を基準として、変換データの生成を説明する。ここでは、離散点nTを基準として新しいデータ列Y(mT)のうち、m番目の時間補間位置mの変換値Y(m)が生成されるものとする。まず、この場合、図2(B)を参照して既に説明したように、差分補間位置Prは、時間補間位置mの最寄りの点である離散点nTを基準として、Pr=nT−mで表される。図2(B)に例示する差分補間位置Prの値は、図に示す部分についての負の値となる。ここで、変換値Y(m)は、既に説明したように元のデータ列Y(nT)とインパルス応答関数η(t,n)との積和演算によって容易に求められる。この際のインパルス応答関数η(t,n)の部分については、上記差分補間位置Prを加味したものとなっている。つまり、式(1)において、例えば離散点nTを基準としてt=Pr+mと代入すると、

Figure 0005774475
となる。また、ここで、新たなデータ列Y(mT)を算出するために、インパルス応答関数η(t,n)を基にして離散化した離散インパルス応答関数を定める。具体的には、式(2)においてt=Prとすると、nを中心としてnが正負の方向に変化する離散インパルス応答関数η(Pr,n)は、
Figure 0005774475
で表される。また、式(3)においても、m=0とすることはt=Prとすることであり、
Figure 0005774475
となる。この場合、Y(Pr)は、離散点nTとその前後の離散点nTに対応するデータ列Y(nT)から求められるものであり、時間補間位置mにおける変換値Y(m)を表現するものとなる。また、式(5)のうち、加算要素の式又は値
Figure 0005774475
は、式(4)の離散インパルス応答関数η(Pr,n)とこれに対応する各データ列Y(nT)の値とを掛けたもの(以後、離散インパルス応答と呼ぶ)である。これは、図2(B)に例示されるインパルス応答の各曲線L1〜L5のt=m上における上記値即ち離散インパルス応答A(n+δ,Pr)にそれぞれ相当する(δ=0,±1,±2)。つまり、上記式(5)から与えられる変換値Y(Pr)=Y(m)は、図2(B)に例示した離散インパルス応答A(n+δ,Pr)をδについて無限に足し合わせたものに相当する。但し、実際に数値化をするにあたっては、相関性の高い有限個の離散インパルス応答A(n+δ,Pr)を足し合わせることで変換値Y(Pr)=Y(m)を構成している。つまり、例えば式(5)において、まず、データ列Y(nT)のうちn番目のデータ列Y(nT)の値を中心とするために、変数をn−n(=δ)として、
Figure 0005774475
とする。さらに、n番目のデータ値Y(nT)の値を中心として略左右対称に有限となるように、式(6)において、例えば30個程度の少ない個数について和を取ることで、変換値Y(Pr)=Y(m)を、インパルス応答をシフトさせる整数δ(=n−n)を用いて
Figure 0005774475
とすることで、変換値Y(Pr)=Y(m)の近似的な値が求められる。Hereinafter, the n 0 th reference point (corresponding to the discrete points n 0 T) of the original data sequence Y (nT), illustrating the generation of the conversion data. Here, it is assumed that the conversion value Y (m 0 T b ) of the m 0 th time interpolation position m 0 T b is generated from the new data string Y (mT b ) with the discrete point n 0 T as a reference. . First, in this case, as already described with reference to FIG. 2 (B), the difference interpolation position Pr is based on the discrete point n 0 T which is the nearest point of the time interpolation position m 0 T b , Pr = represented by n 0 T-m 0 T b . The value of the differential interpolation position Pr illustrated in FIG. 2B is a negative value for the portion shown in the figure. Here, the conversion value Y (m 0 T b ) can be easily obtained by the product-sum operation of the original data string Y (nT) and the impulse response function η (t, n) as already described. In this case, the impulse response function η (t, n) is added with the difference interpolation position Pr. That is, in Equation (1), for example, when t = Pr + m 0 T b is substituted with the discrete point n 0 T as a reference,
Figure 0005774475
It becomes. Here, in order to calculate a new data string Y (mT b ), a discrete impulse response function discretized based on the impulse response function η (t, n) is determined. Specifically, when t = Pr in the equation (2), the discrete impulse response function η (Pr, n) in which n changes in the positive and negative directions around n 0 is
Figure 0005774475
It is represented by Also in the formula (3), setting m 0 T b = 0 means setting t = Pr.
Figure 0005774475
It becomes. In this case, Y (Pr) is obtained from the data point Y (nT) corresponding to the discrete point n 0 T and the discrete points nT before and after the discrete point n 0 T, and the converted value Y (m at the time interpolation position m 0 T b 0 T b ). Also, among the expressions (5), the expression or value of the addition element
Figure 0005774475
Is a product of the discrete impulse response function η (Pr, n) of the equation (4) and the value of each data string Y (nT) corresponding thereto (hereinafter referred to as a discrete impulse response). This corresponds to the above values on the t = m 0 T b of the impulse response curves L1 to L5 illustrated in FIG. 2B, that is, the discrete impulse response A (n 0 + δ, Pr), respectively (δ = 0, ± 1, ± 2). That is, the conversion value Y (Pr) = Y (m 0 T b ) given from the above equation (5) is infinite with respect to δ for the discrete impulse response A (n 0 + δ, Pr) illustrated in FIG. Equivalent to the sum of these. However, in the actual digitization, a converted value Y (Pr) = Y (m 0 T b ) is formed by adding together a finite number of discrete impulse responses A (n 0 + δ, Pr) having high correlation. doing. That is, for example, Equation (5), the first data sequence Y values to the center of (nT) of the n 0 th data sequence Y (n 0 T), the variable n-n 0 (= [delta]) As
Figure 0005774475
And Furthermore, as a finite substantially symmetrical about the value of n 0 th data values Y (n 0 T), in equation (6), by taking the sum for example 30 or so little number, conversion The value Y (Pr) = Y (m 0 T b ) is used with an integer δ (= n−n 0 ) that shifts the impulse response.
Figure 0005774475
Thus, an approximate value of the conversion value Y (Pr) = Y (m 0 T b ) is obtained.

以上のように、各データ列Y(mT)の1つの変換値は、まず、元のデータ列Y(nT)のうちから、当該変換値に対応する基準となるデータを定め(上記のように、m番目の変換値Y(Pr)=Y(m)を求める場合には、最寄りのn番目のデータ値Y(nT)が対応し、これを基準と定めることに相当する。)、次に、これに伴い差分補間位置Prが定まることでインパルス応答関数η(t,n)から離散インパルス応答関数η(Pr,n)が与えられ、さらに、元のデータ列Y(nT)と離散インパルス応答関数η(Pr,n)との畳み込みを行うことで変換値Y(Pr)=Y(m)が求められる。つまり、データ列Y(mT)の1つの変換値(例えばY(Pr)=Y(m))を求めるためには、当該変換値(例えばY(Pr)=Y(m))の時間補間位置(例えばm)に対応させて、元のデータ列Y(nT)のうち基準となる1つのデータ値(例えばY(nT))の位置を定めることと、定められた当該データ値(例えばY(nT))を与える離散点と、変換値(例えばY(Pr)=Y(m))を与える時間補間位置との差である差分補間位置Prを設定することとが前提として必要となる。As described above, as one converted value of each data string Y (mT b ), first, reference data corresponding to the converted value is determined from the original data string Y (nT) (as described above). When the m 0th conversion value Y (Pr) = Y (m 0 T b ) is obtained, the nearest n 0th data value Y (n 0 T) corresponds, and this should be defined as a reference. Next, as the differential interpolation position Pr is determined in accordance with this, the discrete impulse response function η (Pr, n) is given from the impulse response function η (t, n), and the original data sequence A conversion value Y (Pr) = Y (m 0 T b ) is obtained by convolving Y (nT) and the discrete impulse response function η (Pr, n). That is, the data sequence Y in order to obtain the single conversion value (mT b) (e.g. Y (Pr) = Y (m 0 T b)) are the conversion value (e.g., Y (Pr) = Y (m 0 T b )) corresponding to the time interpolation position (for example, m 0 T b ), the position of one reference data value (for example, Y (n 0 T)) in the original data string Y (nT) is determined. And a discrete point that provides the determined data value (for example, Y (n 0 T)) and a time interpolation position that provides a converted value (for example, Y (Pr) = Y (m 0 T b )) It is necessary to set the differential interpolation position Pr.

ここで、以上において、インパルス応答関数η(t,n)又はこれを離散的にした離散インパルス応答関数η(Pr,n)に相当する部分については、従来のように固定せず、差分補間位置Prに対応して振動又は変動するものでありながらも、算出としては、従来のFIRフィルターと同様にデジタルデータ処理を行うことが可能となっている。以下、このような手法を「変動FIRフィルター」と呼ぶこととする。また、差分補間位置Prによって示される時間位置のずれ量は、上記のように、対象となる新しいデータの時間補間位置mTとこれを構成するための基準となる元のデータの離散点nTとの差によって決まるものであり、一般には、元のデータの周波数fと新しいデータの周波数fとの比f:f=N:Mの関係によって定まるものである。このように、変動FIRフィルターは、外界の状況に適応する既存の適応フィルターとは全く異なるものである。Here, in the above description, the impulse response function η (t, n) or the portion corresponding to the discrete impulse response function η (Pr, n) made discrete is not fixed as in the prior art, and the differential interpolation position is used. Although it oscillates or fluctuates corresponding to Pr, it is possible to perform digital data processing as in the conventional FIR filter for calculation. Hereinafter, such a method is referred to as a “variable FIR filter”. Further, the deviation amount of time position indicated by the difference interpolation position Pr, as described above, the discrete points nT in the original data as a reference for configuring it and time interpolation position mT b new data of interest Generally, it is determined by the relationship of the ratio f s : f b = N: M between the frequency f s of the original data and the frequency f b of the new data. As described above, the fluctuating FIR filter is completely different from the existing adaptive filter adapted to the situation of the outside world.

以上のように、本実施形態では、インパルス応答関数η(t,n)から離散インパルス応答関数η(Pr,n)を抽出する際に、上述した差分補間位置Prや、周期T,T即ち周波数f,fを考慮するとともに、このような離散インパルス応答関数η(Pr,n)を利用したデータの合成により、非常に高速で高精度のサンプリング周波数レート変換を可能としている。As described above, in the present embodiment, when the discrete impulse response function η (Pr, n) is extracted from the impulse response function η (t, n), the above-described differential interpolation position Pr and the periods T, T b, Considering the frequencies f s and f b and combining the data using such a discrete impulse response function η (Pr, n), it is possible to convert the sampling frequency rate with high speed and high accuracy.

ここで、ランダムな帯域のアナログ信号f(t)において、遮断周波数f/2となる理想的なアナログのローパスフィルターは、

Figure 0005774475
である。この式(8)は、サンプリング周波数レート変換に関する上記式(5)等に適用することができると考えられる。ここでは、式(5)を上記式(8)に基づいて変形するとともに、周波数fを、fとfとのうち、小さい方とし、以下の式
Figure 0005774475
からサンプリング周波数レート変換の演算処理を行うものとする。この場合、変動FIRフィルター用の離散インパルス応答関数η(Pr,n)は、エイリアシング発生と折り返し雑音発生との防止を可能にする修正式又は値として、
Figure 0005774475
で表され、補間計算式即ち修正された新たな変換値は、t=Prとして、
Figure 0005774475
となる。以上から明らかなように、本実施形態の変動FIRフィルターでは、本来の変換値Y(Pr)=Y(m)の一部のfをfに置き換えたものを用いるだけで、アンチエイリアシングのためのローパスフィルターとしての機能も持たせることができ、データ処理の非常な高速化を達成することができる。なお、式(9)の関数Y(t)は、時間tについての連続関数であるから、時間tには、有理数のみならず無理数を含む任意の値を代入することができる。これは、現状のオーバーサンプリング理論を用いた補間では実現できない無理数による位置の補間が可能となることを意味する。このように、tの値として、新たなデータに対応する任意のサンプリングタイミング即ち時間補間位置を代入することにより、元のデータ列Y(nT)と修正されたインパルス応答関数η(Pr,n)との積和演算によって変換値Y(m)を理論上厳密に求めることができ、延いては周期Tの新たなデータ列Y(mT)を理論上厳密に求めることができる。結果的に、本手法により、上記オーバーサンプリング理論を用いた補間に比較して、100倍から数1000倍程度の変換処理の高速化を達成することができる。Here, in an analog signal f (t) in a random band, an ideal analog low-pass filter having a cutoff frequency f c / 2 is
Figure 0005774475
It is. This equation (8) is considered to be applicable to the above equation (5) and the like relating to sampling frequency rate conversion. Here, the equation (5) is modified based on the above equation (8), and the frequency f c is set to the smaller one of f s and f b, and the following equation:
Figure 0005774475
The sampling frequency rate conversion processing is performed. In this case, the discrete impulse response function η (Pr, n) for the fluctuating FIR filter can be expressed as a modified equation or value that enables prevention of aliasing and aliasing:
Figure 0005774475
And a new conversion value corrected by the interpolation calculation formula, that is, t = Pr,
Figure 0005774475
It becomes. As is clear from the above, in the variable FIR filter of the present embodiment, only a part of f s of the original converted value Y (Pr) = Y (m 0 T b ) is replaced with f c . A function as a low-pass filter for anti-aliasing can also be provided, and extremely high speed of data processing can be achieved. Note that since the function Y (t) in the equation (9) is a continuous function for the time t, an arbitrary value including not only a rational number but also an irrational number can be substituted for the time t. This means that it is possible to interpolate positions using irrational numbers that cannot be realized by interpolation using the current oversampling theory. Thus, by substituting an arbitrary sampling timing corresponding to new data, that is, a time interpolation position, as the value of t, the original data string Y (nT) and the modified impulse response function η (Pr, n) The converted value Y (m 0 T b ) can be theoretically strictly determined by the product-sum operation with the above, and a new data string Y (mT b ) having the period T b can be theoretically strictly determined. . As a result, according to this method, it is possible to achieve a conversion process speed increase of about 100 to several thousand times compared to the interpolation using the oversampling theory.

なお、上記変動FIRフィルターの伝達関数H(Z,Pr)は、以下のようになる。

Figure 0005774475
ここで、Z=exp(jωT)、ω:角周波数である。Note that the transfer function H (Z, Pr) of the fluctuating FIR filter is as follows.
Figure 0005774475
Here, Z = exp (jωT), ω: angular frequency.

以下、一例として、信号処理装置10による変換を32kHzから44.1kHzへの変換とする場合について考える。この場合、遮断周波数の基準となるサンプリング周波数fは、fとfとのうち、小さい方即ち32kHzであるfがfとなる。つまり、復元されるアナログ型の関数の式(9)は式(5)と同じであり、この式に基づいて上記のようにして、離散インパルス応答関数η(Pr,n)が作成される。また、この場合、差分補間位置Prは、例えば、

Figure 0005774475
として定められる。ここで、周波数の比率は、N:M=320:441となるため(320と441とは互いに素)、差分補間位置Prは、441個の循環するパターンを有するものとなる。数値化して行うデジタル処理による実際の演算においては、式(7)に示すように、1つの変換値の算出には、有限個(例えば30個程度)の要素からなる離散インパルス応答関数η(Pr,n)の係数列が必要となるが、この場合、離散インパルス応答関数η(Pr,n)の係数列の数は、差分補間位置Prのパターンの数に対応して441列分用意されることになる。Hereinafter, as an example, a case where the conversion by the signal processing device 10 is converted from 32 kHz to 44.1 kHz will be considered. In this case, the sampling frequency f c serving as a reference for the cut-off frequency is the smaller one of f s and f b , that is, f s of 32 kHz becomes f c . That is, the restored analog function equation (9) is the same as the equation (5), and the discrete impulse response function η (Pr, n) is created based on this equation as described above. In this case, the difference interpolation position Pr is, for example,
Figure 0005774475
It is determined as Here, since the frequency ratio is N: M = 320: 441 (320 and 441 are relatively prime), the differential interpolation position Pr has 441 circulating patterns. In the actual calculation by digital processing performed by digitization, as shown in the equation (7), in order to calculate one conversion value, a discrete impulse response function η (Pr) composed of a finite number (for example, about 30) elements is used. , N) coefficient sequences are required. In this case, the number of coefficient sequences of the discrete impulse response function η (Pr, n) is prepared for 441 columns corresponding to the number of patterns of the differential interpolation position Pr. It will be.

ここで、図3の係数テーブル60は、離散インパルス応答関数η(Pr,n)に基づいて構成されるフィルター係数を並べたテーブルを模式的に示したものである。係数テーブル60は、1つの変換値(例えば変換値Y(Pr)=Y(m))を算出するために必要な有限個(例えば30個程度)のデータ要素(以下、フィルター係数値と呼ぶ)からなるフィルター係数の係数列を1単位として、この係数列を新たなデータ列Y(mT)の全ての値を得るために必要な数(例えば上記32kHzから44.1kHzへの変換の場合441列)並べたものである。Here, the coefficient table 60 in FIG. 3 schematically shows a table in which filter coefficients configured based on the discrete impulse response function η (Pr, n) are arranged. The coefficient table 60 includes a finite number (for example, about 30) data elements (hereinafter referred to as filter coefficient values) necessary for calculating one conversion value (for example, conversion value Y (Pr) = Y (m 0 T b )). The coefficient sequence of the filter coefficients consisting of the filter coefficients is a unit, and this coefficient sequence is converted to a number necessary for obtaining all the values of the new data sequence Y (mT b ) (for example, conversion from 32 kHz to 44.1 kHz) In the case of 441 columns).

ここでは、畳み込み演算により1つの変換値Y(Pr)=Y(m)を得るための単位であるフィルター係数値を有限個(例えば30個程度)並べて得た上記列を、フィルター係数列60aとする。つまり、係数テーブル60は、フィルター係数列60aを変換前後の周波数の比率に応じて必要個数並べたテーブルである。詳しくは後述するが、変動FIRフィルターを用いたデジタルデータ処理の場合、係数テーブル60において、各フィルター係数値を要素として並べたフィルター係数列60aを演算における一群の単位として取り扱うことにより、具体的に数値化した離散インパルス応答関数η(Pr,n)として機能させている。本実施形態の場合、離散インパルス応答関数η(Pr,n)を基にして得た有限個のフィルター係数値からなるフィルター係数列60aを用いた変動FIRフィルターによって、式(7)等に示す元のデータY(nT)との積和演算を行うことで、従来のFIRフィルターと同様の演算処理で新しいデータ列Y(mT)を算出することができる。Here, the column obtained by arranging a finite number (for example, about 30) of filter coefficient values, which are units for obtaining one converted value Y (Pr) = Y (m 0 T b ) by convolution, It is assumed as a column 60a. That is, the coefficient table 60 is a table in which the necessary number of filter coefficient strings 60a are arranged according to the ratio of the frequencies before and after the conversion. As will be described in detail later, in the case of digital data processing using a fluctuating FIR filter, in the coefficient table 60, a filter coefficient sequence 60a in which each filter coefficient value is arranged as an element is handled as a group of units in calculation. It is made to function as a digitized discrete impulse response function η (Pr, n). In the case of the present embodiment, an element shown in Equation (7) or the like is obtained by a variable FIR filter using a filter coefficient sequence 60a composed of a finite number of filter coefficient values obtained based on the discrete impulse response function η (Pr, n). By performing the product-sum operation with the data Y (nT), a new data string Y (mT b ) can be calculated by the same arithmetic processing as the conventional FIR filter.

なお、変動FIRフィルターを作用させるにあたって、さらに、上記したインパルス応答関数η(t,n)に対応する窓関数を用いて演算処理での計算値の不連続性を緩和することや、係数の正規化処理を行うことで、数値化された有限の個数の離散インパルス応答関数η(Pr,n)であっても、処理すべき情報をより再現性の高いものとすることができる。   Note that when the variable FIR filter is operated, the window function corresponding to the impulse response function η (t, n) described above is further used to reduce the discontinuity of the calculated value in the calculation process, and the normalization of the coefficient By performing the digitization process, even if it is a finite number of discrete impulse response functions η (Pr, n), information to be processed can be made more reproducible.

インパルス応答関数η(t,n)に用いる窓関数としては、例えばハニング窓、ブラックマン窓、カイザー窓等の使用が適切である。なお、ハニング窓、ブラックマン窓、カイザー窓等は、窓の両端で座標軸に接するように0となる点で、ノイズ防止に効果的である。窓関数によっての補正の仕方は、インパルス応答関数η(n、t)と離散インパルス応答関数η(Pr,n)との関係と同じく差分補間位置Prに対応した離散的な窓関数を用いた補正とすることが好ましい。   As the window function used for the impulse response function η (t, n), for example, a Hanning window, a Blackman window, a Kaiser window, or the like is appropriate. The Hanning window, Blackman window, Kaiser window, and the like are effective in preventing noise because they become 0 so as to contact the coordinate axis at both ends of the window. The correction method using the window function is the correction using the discrete window function corresponding to the differential interpolation position Pr as in the relationship between the impulse response function η (n, t) and the discrete impulse response function η (Pr, n). It is preferable that

図3は、サンプリング周波数の変換の装置である信号処理装置10において、デジタル信号処理によって変換を行う場合の動作を概念的に示すブロック図である。ここでは、まず、変動FIRフィルターの考え方によって、インパルス応答関数η(t,n)から作成される離散インパルス応答関数η(Pr,n)(例えば、式(10)に示す修正された離散インパルス応答関数η(Pr,n))が構成されている。さらに、信号処理装置10の係数テーブル60において、既述のように、離散インパルス応答関数η(Pr,n))から定まるフィルター係数として有限個(例えば30個)のフィルター係数値を配列することで、1つのフィルター係数列60aが構成され、このようなフィルター係数列60aは、後述する畳み込みの演算処理において必要となる分用意される。信号処理装置10は、係数テーブル60の作成のため、図1のRAM40にフィルター係数用の領域を確保する。また、信号処理装置10は、作成された係数テーブル60から必要な各フィルター係数列60aを選択して適宜読み出し、一方、入力データであるデータ列Y(nT)の該当範囲を抽出し、このデータ列Y(nT)の該当範囲と当該フィルター係数列60aとについて畳み込み演算をすることにより、データ列Y(mT)の各データ値(変換値)を算出する。つまり、信号処理装置10において、まず、係数テーブル60から1つのフィルター係数列60aを抽出部61に読み出すとともに、入力データバッファ70からアドレス位置が特定された対応する入力データ70aを照合して、これらの畳み込み演算処理を行い、算出結果のデータ80aを出力データバッファ80に格納されるデータの1つとして出力する。信号処理装置10は、以上の動作により出力すべきデータの順即ち新しいデータの時系列の順に新しいデータ列Y(mT)の各データ値(変換値)である変換値データ80aの出力を逐次行う。FIG. 3 is a block diagram conceptually showing an operation in the case of performing conversion by digital signal processing in the signal processing apparatus 10 which is a sampling frequency conversion apparatus. Here, first, the discrete impulse response function η (Pr, n) (for example, the modified discrete impulse response shown in the equation (10)) created from the impulse response function η (t, n) by the concept of the variable FIR filter. A function η (Pr, n)) is constructed. Further, in the coefficient table 60 of the signal processing device 10, as described above, a finite number (for example, 30) of filter coefficient values are arranged as filter coefficients determined from the discrete impulse response function η (Pr, n)). One filter coefficient string 60a is configured, and such filter coefficient string 60a is prepared in an amount necessary for the convolution calculation process described later. The signal processing apparatus 10 secures an area for filter coefficients in the RAM 40 of FIG. Further, the signal processing apparatus 10 selects each necessary filter coefficient string 60a from the created coefficient table 60 and appropriately reads it, while extracting a corresponding range of the data string Y (nT) as input data, and this data Each data value (transformed value) of the data string Y (mT b ) is calculated by performing a convolution operation on the corresponding range of the string Y (nT) and the filter coefficient string 60a. That is, in the signal processing device 10, first, one filter coefficient string 60 a is read from the coefficient table 60 to the extraction unit 61, and corresponding input data 70 a whose address position is specified from the input data buffer 70 is collated. The calculation result data 80 a is output as one of data stored in the output data buffer 80. The signal processing apparatus 10 sequentially outputs the output of the conversion value data 80a that is each data value (conversion value) of the new data string Y (mT b ) in the order of the data to be output by the above operation, that is, in the time series of the new data. Do.

以下、図1の信号処理装置10において変動FIRフィルターを用いたデジタル信号処理による元のデータ列Y(nT)から仕様の異なる新たなデータ列Y(mT)を得るデータ処理工程の具体的な動作説明をする。A specific data processing step for obtaining a new data string Y (mT b ) with different specifications from the original data string Y (nT) by digital signal processing using a variable FIR filter in the signal processing apparatus 10 of FIG. The operation is explained.

上記動作説明の前半部として、まず、図1及び図3のブロック図と、図4乃至図8のフローチャートとを参照して、図3の係数テーブル60の作成等の準備をする係数準備工程等の動作について説明する。即ち、以下では、新たなデータ列Y(mT)の算出を可能とするために、差分補間位置Prでの変換値Y(Pr)=Y(m)を与える離散インパルス応答関数η(Pr,n)(Prは、新しいデータ列Y(mT)を構成するデータ数の範囲で変化する。)の準備等に相当する工程の動作について説明する。As the first half of the above description of the operation, first, a coefficient preparation process for preparing the creation of the coefficient table 60 of FIG. 3 and the like with reference to the block diagrams of FIGS. 1 and 3 and the flowcharts of FIGS. Will be described. That is, in the following, in order to enable calculation of the new data sequence Y (mT b), conversion values of the difference interpolation position Pr Y (Pr) = Y ( m 0 T b) providing a discrete impulse response function η The operation of a process corresponding to the preparation of (Pr, n) (Pr changes within the range of the number of data constituting the new data string Y (mT b )) will be described.

図1に示す信号処理装置10のCPU20は、図4に示すように、積和演算の回数を定めるタップ数TAmaxの値(例えば30程度)を定める(ステップS1)。つまり、これは、1つのフィルター係数列60aを構成するフィルター係数値の個数を決定することに相当する。このタップ数TAmaxは、RAM40の適当な領域に一時保管される。   As shown in FIG. 4, the CPU 20 of the signal processing apparatus 10 shown in FIG. 1 determines the value of the tap number TAmax (for example, about 30) that determines the number of product-sum operations (step S1). In other words, this corresponds to determining the number of filter coefficient values constituting one filter coefficient string 60a. This tap number TAmax is temporarily stored in an appropriate area of the RAM 40.

次に、元のサンプリング周期Tに相当するデジタル値であるインプット基準周期として入力周期値Aを定め(ステップS2)、変換後の新しいサンプリング周期Tに相当するデジタル値であるアウトプット基準周期として出力周期値Bを定める(ステップS3)。これらの周期値A,Bは、RAM40の適当な領域に一時保管される。ここで、周期値A,Bを決めるための前提として、時間についてのデジタル化のための時間の最小単位をシステム時間単位とする。つまり、システム時間単位とは、デジタル信号の処理上において必要となる最も短い時間の単位であり、例えば、変換前後のサンプリング周波数f,fの最小公倍数の逆数等により定められる。これにより、周期値A,Bは、いずれもシステム時間単位の個数として表現され、当該個数が、それぞれの周期T,Tの長さに対応する。具体的には、例えば32kHzから44.1kHzへの変換の場合、N:M=320:441となるため(320と441とは互いに素)ステップS2,S3において、A=441、B=320と定まる。つまり、この場合のシステム時間単位は、1/(441×320)×10−2秒である。Next, as an input the reference period is a digital value corresponding to the original sampling period T defines the input period value A (step S2), and as an output the reference period is a digital value corresponding to a new sampling period T b after conversion An output cycle value B is determined (step S3). These period values A and B are temporarily stored in an appropriate area of the RAM 40. Here, as a premise for determining the period values A and B, a minimum unit of time for digitization of time is a system time unit. That is, the system time unit is the shortest unit of time necessary for processing digital signals, and is determined by, for example, the reciprocal of the least common multiple of sampling frequencies f s and f b before and after conversion. Thus, the period value A, B are both expressed as the number of system time units, the number is, each period T, corresponding to the length of T b. Specifically, for example, in the case of conversion from 32 kHz to 44.1 kHz, N: M = 320: 441 (320 and 441 are relatively prime). In steps S2 and S3, A = 441, B = 320 Determined. That is, the system time unit in this case is 1 / (441 × 320) × 10 −2 seconds.

次に、CPU20は、周期値A,Bに基づいて出力バッファ数を算出する。つまり、CPU20は、RAM40に保管された周期値A,Bを読み出し、これらの値から例えば最大公約数に対応する係数kの値を定め、k×Aをもって出力バッファ数とする(ステップS4)。周波数の比を与えるNとMとが元々互いに素であるため、既述のように、差分補間位置Prも、441個のパターンで循環する。従って、ステップS4において、例えばk=1と定まる。CPU20は、これらのデータ即ち係数kや出力バッファ数k×AをRAM40の適当な領域に一時保管させる。なお、44.1kHzから48kHzへの変換の場合、N:M=441:480=3×147:3×160=147:160となるため、A=160、B=147と定まる。この場合、Prは、160個のパターンで循環し、例えばk=3となる。   Next, the CPU 20 calculates the number of output buffers based on the cycle values A and B. That is, the CPU 20 reads the cycle values A and B stored in the RAM 40, determines the value of the coefficient k corresponding to the greatest common divisor, for example, from these values, and sets k × A as the number of output buffers (step S4). Since N and M providing the frequency ratio are originally prime, the difference interpolation position Pr also circulates in 441 patterns as described above. Therefore, in step S4, for example, k = 1 is determined. The CPU 20 temporarily stores these data, that is, the coefficient k and the output buffer number k × A in an appropriate area of the RAM 40. In the case of conversion from 44.1 kHz to 48 kHz, since N: M = 441: 480 = 3 × 147: 3 × 160 = 147: 160, A = 160 and B = 147 are determined. In this case, Pr circulates in 160 patterns, for example, k = 3.

次に、CPU20は、遮断周波数f/2の値の決定即ち基準周波数fの値の決定を行う(ステップS5)。この基準周波数fは、RAM40の適当な領域に一時保管される。既述のように、例えば32kHzから44.1kHzへの変換の場合、遮断周波数f/2は、元のサンプリング周波数fの1/2である。なお、逆に44.1kHzから32kHzへの変換の場合、遮断周波数f/2は、変換後のサンプリング周波数fの1/2となる。Then, CPU 20 performs the determination of the value of the decision that is, the reference frequency f c of the cut-off frequency f c / 2 value (step S5). The reference frequency f c is temporarily stored in an appropriate area of the RAM 40. As described above, in the case of conversion from 32 kHz to 44.1 kHz, for example, the cutoff frequency f c / 2 is ½ of the original sampling frequency f s . Conversely, in the case of conversion from 44.1 kHz to 32 kHz, the cutoff frequency f c / 2 is ½ of the converted sampling frequency f b .

次に、CPU20は、RAM40に設けられたカウンターを利用して後述するステップS17でのフィルター係数の正規化の処理が規定回行われているか確認し(ステップS6)、達していなければ(ステップS6:No)正規化トータル値を初期化するとともに(ステップS7)、タップ数の初期値設定の処理(タップ数TA=0とする)を行う(ステップS8)。正規化トータル値やタップ数の初期値は、RAM40の適当な領域に一時保管される。   Next, the CPU 20 uses a counter provided in the RAM 40 to check whether filter coefficient normalization processing in step S17 described later has been performed a prescribed number of times (step S6), and if not reached (step S6). : No) The normalized total value is initialized (step S7), and the process for setting the initial number of taps (the number of taps TA = 0) is performed (step S8). The normalized total value and the initial value of the number of taps are temporarily stored in an appropriate area of the RAM 40.

次に、CPU20は、RAM40に保管されたタップ数TAを確認し(ステップS16)、最大のタップ数TAmaxに達していなければ(ステップS16:No)、インパルス応答関数η(t,n)の時間補間位置m及び差分補間位置Prを決定する(ステップS9)。差分補間位置Prは、既に説明したようにPr=nT−mで表される。ここでは、1つの差分補間位置Pr(32kHzから44.1kHzへの変換の場合、441パターンのうちの1パターン)が決定される。この際、差分補間位置Prを与える変数mは、A−1を最大として、0から徐々に増加する。この差分補間位置Prは、RAM40の適当な領域に一時保管される。次に、CPU20は、差分補間位置Prの決定に伴い、インパルス応答関数η(t,n)に基づいて定まる離散インパルス応答関数η(Pr,n)のnに関して時間補間位置mを中心として有限個(例えば30個)の値を代入することで、フィルター係数を作成するための基本係数を算出する(ステップS10)。具体的には、例えば式(10)において、対応する離散インパルス応答関数η(Pr,n)のsinの部分及びsin以外の部分の数値化された演算がなされることで、基本係数が決定し、RAM40の適当な領域に一時保管される。次に、CPU20は、離散インパルス応答関数η(Pr,n)から得た基本係数に作用する窓関数を算出し(ステップS11)、ステップS10において算出された基本係数をRAM40から読み出して、ステップS11において算出された窓関数と基本係数とを掛け合わせて変動FIRフィルターの仮係数を算出する(ステップS12)。CPU20は、算出された仮係数を、RAM40に一時的に設けた仮係数テーブルに埋め込み(ステップS13)、RAM40に保管された正規化トータル値に加算する(ステップS14)。その後、CPU20は、RAM40に記憶されているタップ数TAを一つ繰り上げる(ステップS15)。Next, the CPU 20 confirms the number of taps TA stored in the RAM 40 (step S16). If the maximum number of taps TAmax has not been reached (step S16: No), the time of the impulse response function η (t, n) The interpolation position m 0 T b and the difference interpolation position Pr are determined (step S9). The difference interpolation position Pr is represented by Pr = n 0 T−m 0 T b as already described. Here, one differential interpolation position Pr (in the case of conversion from 32 kHz to 44.1 kHz, one pattern of 441 patterns) is determined. At this time, the variable m 0 giving the differential interpolation position Pr gradually increases from 0, with A-1 being the maximum. The difference interpolation position Pr is temporarily stored in an appropriate area of the RAM 40. Next, the CPU 20 centers the time interpolation position m 0 T b with respect to n of the discrete impulse response function η (Pr, n) determined based on the impulse response function η (t, n) with the determination of the differential interpolation position Pr. A basic coefficient for creating a filter coefficient is calculated by substituting a finite number (for example, 30) of values (step S10). Specifically, for example, in Equation (10), the basic coefficient is determined by performing numerical operations on the sin part and the part other than sin of the corresponding discrete impulse response function η (Pr, n). , Temporarily stored in an appropriate area of the RAM 40. Next, the CPU 20 calculates a window function that operates on the basic coefficient obtained from the discrete impulse response function η (Pr, n) (step S11), reads out the basic coefficient calculated in step S10 from the RAM 40, and performs step S11. The provisional coefficient of the variable FIR filter is calculated by multiplying the window function calculated in step 1 and the basic coefficient (step S12). The CPU 20 embeds the calculated temporary coefficient in a temporary coefficient table temporarily provided in the RAM 40 (step S13) and adds it to the normalized total value stored in the RAM 40 (step S14). Thereafter, the CPU 20 increments the tap number TA stored in the RAM 40 by one (step S15).

次に、CPU20は、ステップS15での繰り上げによりタップ数TAが設定された最大値であるタップ数TAmax(例えばTAmax=30)に達成したかをRAM40の記憶を参照して確認し(ステップS16)、達していなければ(ステップS16:No)、再度ステップS9に戻り、各タップに対応する仮係数を算出する動作を繰り返す(ステップS9〜ステップS15)。   Next, the CPU 20 refers to the storage in the RAM 40 to check whether the tap number TA has reached the maximum number of taps TAmax (for example, TAmax = 30) set by the advance in step S15 (step S16). If not reached (step S16: No), the process returns to step S9 again, and the operation of calculating the temporary coefficient corresponding to each tap is repeated (steps S9 to S15).

ステップS16において、タップ数TAが最大のタップ数TAmaxに達していると判断された場合(ステップS16:Yes)、CPU20は、ステップS15までにおいて算出されRAM40に暫定的に保管された仮係数テーブルを構成する1つの仮係数列全体を総和である正規化トータル値で割り算することにより、1つの仮係数列から正規化された1つのフィルター係数列60aを作成する(ステップS116、S17)。具体的には、CPU20は、タップ数TAが最大のタップ数TAmaxに達しているか否かを確認し(ステップS116)、達成していないと判断すれば(ステップS116:No)、算出された1つの仮係数列を構成する各仮係数を正規化トータル値でそれぞれ割り算して更新する動作をし(ステップS17)、この更新動作を全ての仮係数が正規化トータル値で割られたと判断するまで繰り返す。この動作により、CPU20は、最終的に得られた結果即ち1つの仮係数列を1つのフィルター係数列60aとして、RAM40内に記憶領域として用意されたテーブル係数60の対応箇所に格納することになる。   If it is determined in step S16 that the number of taps TA has reached the maximum number of taps TAmax (step S16: Yes), the CPU 20 calculates the temporary coefficient table calculated in step S15 and temporarily stored in the RAM 40. One filter coefficient string 60a normalized from one temporary coefficient string is created by dividing the entire one temporary coefficient string constituting by the normalized total value which is the sum (steps S116 and S17). Specifically, the CPU 20 checks whether or not the number of taps TA has reached the maximum number of taps TAmax (step S116), and determines that it has not been achieved (step S116: No), the calculated 1 An operation is performed to divide and update each temporary coefficient constituting one temporary coefficient sequence by the normalized total value (step S17), and this update operation is performed until it is determined that all the temporary coefficients are divided by the normalized total value. repeat. By this operation, the CPU 20 stores the finally obtained result, that is, one temporary coefficient string as one filter coefficient string 60a in the corresponding position of the table coefficient 60 prepared as a storage area in the RAM 40. .

CPU20は、ステップS116において、タップ数を数え、1つの仮係数テーブルについて全ての仮係数の処理がなされたと判断した場合(ステップS116:Yes)、RAM40の記憶を参照して、フィルター係数列60aが必要な分だけ形成されたか否かを確認する(ステップS6)。つまり、CPU20は、ステップS116、S17での仮係数テーブルを構成するフィルター係数列60aの作成処理がA回行われたかを確認する。ここで、フィルター係数列60aが最小必要単位分(A個分)形成されていなければ(ステップS6:No)、CPU20は、新たな離散インパルス応答関数η(Pr,n)に基づくフィルター係数即ちフィルター係数列60aを作成するための処理(ステップS7〜ステップS17)を繰り返す。   If the CPU 20 counts the number of taps in step S116 and determines that all the temporary coefficients have been processed for one temporary coefficient table (step S116: Yes), the filter coefficient string 60a is stored in the RAM 40 with reference to the storage in the RAM 40. It is confirmed whether or not the necessary amount has been formed (step S6). That is, the CPU 20 confirms whether the creation processing of the filter coefficient sequence 60a constituting the temporary coefficient table in steps S116 and S17 has been performed A times. If the filter coefficient sequence 60a is not formed for the minimum necessary units (A) (step S6: No), the CPU 20 sets a filter coefficient based on a new discrete impulse response function η (Pr, n), that is, a filter. The process (steps S7 to S17) for creating the coefficient sequence 60a is repeated.

CPU20は、フィルター係数列60aの作成をA回行った即ちテーブル係数60にA回分のフィルター係数列60aが揃ったと判断すると(ステップS6:Yes)、最小限必要なデータが揃ったものと判断し、係数テーブル60に付随する時間補間位置テーブルを作成するための処理を行う(ステップS18〜ステップS20)。具体的には、まず、CPU20は、時間補間位置テーブルの情報が必要分揃っているか否かを確認する(ステップS18)。ここで、時間補間位置テーブルは、テーブル係数60に付随する索引としての機能を有し、RAM40の記憶領域に保管される。CPU20は、時間補間位置テーブルの情報が必要分揃っていなければ(ステップS18:No)、まず、入力されるデータの位置決定の準備処理即ちアドレス位置テーブルの作成処理を行う(ステップS19)。つまり、新しく生成される各データの作成のために、基準となる元のデータの位置を決定する。このために、CPU20は、図3の入力データバッファ70における特定の入力データ70aのアドレス位置を決定し、変換後の1つの新しいデータに対する一群の元のデータの入力位置の対応付けをアドレス位置テーブルとしてRAM40の適当な領域に一時保管する。次に、CPU20は、1つの新しいデータと元のデータとの位置ずれの量を定める差分補間位置Prに対応する差分補間位置テーブルの準備処理を行う(ステップS20)。つまり、CPU20は、特定の差分補間位置Prの対応する係数テーブル60中の特定のフィルター係数列60aのアドレス位置を決定する。これにより準備されたフィルター係数列60aのアドレス位置は、差分補間位置テーブルとしてRAM40の適当な領域に一時保管される。以上の動作が時間補間位置テーブル作成に必要なだけ繰り返されると(ステップS18:Yes)、係数準備工程の動作を終了する。なお、以上において、ステップS19は、1つの変換値Y(Pr)=Y(m)の時間補間位置mに対応させて、元のデータ列Y(nT)のうち基準となる1つのデータ値Y(nT)の位置を定めるために必要なアドレスデータを準備することに相当する。ステップS20は、後述するデータ算出工程における積和演算又は畳み込みに際して上記基準のデータ値Y(nT)の前後にタップ数TAmaxだけ含まれるデータ値Yに作用させて特定の差分補間位置Prにおける変換値Y(Pr)=Y(m)の算出を可能にするフィルター係数列60aを指定するために必要なアドレスデータをステップS19で得たアドレス位置に関連付けて準備・保管することに相当する。If the CPU 20 determines that the filter coefficient string 60a has been created A times, that is, the filter coefficient string 60a for A times has been prepared in the table coefficient 60 (step S6: Yes), it is determined that the minimum necessary data has been prepared. Then, a process for creating a time interpolation position table associated with the coefficient table 60 is performed (steps S18 to S20). Specifically, first, the CPU 20 confirms whether or not the information in the time interpolation position table is necessary (step S18). Here, the time interpolation position table has a function as an index attached to the table coefficient 60 and is stored in a storage area of the RAM 40. If the necessary amount of information in the time interpolation position table is not prepared (step S18: No), the CPU 20 first performs a preparation process for determining the position of input data, that is, an address position table creation process (step S19). That is, the position of the original data serving as a reference is determined in order to create each newly generated data. For this purpose, the CPU 20 determines the address position of the specific input data 70a in the input data buffer 70 of FIG. 3, and associates the input position of a group of original data with one new data after conversion in the address position table. Is temporarily stored in an appropriate area of the RAM 40. Next, the CPU 20 prepares a differential interpolation position table corresponding to the differential interpolation position Pr that determines the amount of positional deviation between one new data and the original data (step S20). That is, the CPU 20 determines the address position of the specific filter coefficient string 60a in the coefficient table 60 corresponding to the specific difference interpolation position Pr. The address position of the prepared filter coefficient sequence 60a is temporarily stored in an appropriate area of the RAM 40 as a differential interpolation position table. When the above operation is repeated as many times as necessary for creating the time interpolation position table (step S18: Yes), the operation of the coefficient preparation process is terminated. In the above, step S19 corresponds to the reference of the original data string Y (nT) corresponding to the time interpolation position m 0 T b of one conversion value Y (Pr) = Y (m 0 T b ). This corresponds to preparing address data necessary for determining the position of one data value Y (n 0 T). In step S20, a product-sum operation or convolution in a data calculation step to be described later is applied to a data value Y included by the number of taps TAmax before and after the reference data value Y (n 0 T), and a specific differential interpolation position Pr is obtained. To prepare and store the address data necessary for designating the filter coefficient string 60a enabling calculation of the conversion value Y (Pr) = Y (m 0 T b ) in association with the address position obtained in step S19. Equivalent to.

次に、図1及び図3のブロック図と、図9及び図10のフローチャートとを参照して、係数準備工程で得られた係数テーブル60に基づいて行われるデータ算出工程等について説明する。即ち、以下では、係数準備工程において準備された離散インパルス応答関数η(Pr、n)に基づくフィルター係数としての係数テーブル60を用いた畳み込み演算により元のデータ列Y(nT)から新しいデータ列Y(mT)を算出する工程の動作について説明する。Next, a data calculation process and the like performed based on the coefficient table 60 obtained in the coefficient preparation process will be described with reference to the block diagrams of FIGS. 1 and 3 and the flowcharts of FIGS. 9 and 10. That is, in the following, a new data sequence Y from the original data sequence Y (nT) by a convolution operation using a coefficient table 60 as a filter coefficient based on the discrete impulse response function η (Pr, n) prepared in the coefficient preparation step. The operation of the step of calculating (mT b ) will be described.

まず、図1のCPU20は、図9に示すように、入力バッファ数k×Bの調整を行う(ステップS51)。つまり、入力バッファ数k×Bに合わせた信号送出をするよう調整するとともに、変換の最初及び最後においては、例えば不足する分のデータ(情報α)を調整する。例えば、当該変換処理の直前の処理時に取得したデータの最後の部分を取り出して変換の最初に用いることで、不足データ分を補う。また、変換の最初でそれ以前のデータがない場合や変換の最後でデータが不足する場合には、情報αの分をゼロ信号或いは、ダミー信号等により調整する。なお、このような初期及び終期の信号に対応する変換値Y(Pr)=Y(m)は、不要なものとして消去することも可能である。次に、CPU20は、情報の出力が可能な分の回数(出力バッファ数k×A回)の処理が行われたか否かをRAM40の記憶を参照して確認し(ステップS52)、達成していなければ、下のデータの基準位置を読み出す基準位置アドレス算定の処理を行う(ステップS53)。つまり、CPU20は、RAM40からステップS19で定められた元のデータ列Y(nT)についてのアドレス位置を読み出し、対応する演算のために必要とされる元のデータ列Y(nT)の部分を選択する処理を行う。次に、CPU20は、差分補間位置アドレス準備の処理を行う(ステップS54)。つまり、CPU20は、RAM40からステップS20で定められた差分補間位置Prについてのアドレス位置を読み出す。以上により準備がなされると、まず、CPU20は、最大のタップ数TAmax(例えばTAmax=30)回動作がなされたかをRAM40の記憶を参照して確認し、なされていなければ、上記により準備された各フィルター系数値等の各変動係数をロードして(ステップS56)、当該元のデータ列部分と差分補間位置Prの情報を含むフィルター係数とによる畳み込み演算処理をROM30に保管されているプログラムに従って行い(ステップS56a、S56b)、当該動作がタップ数TAmaxの回数分処理がなされると、新しいデータの1つの変換値Y(Pr)=Y(m)が作成される(ステップS57、S58)。First, as shown in FIG. 9, the CPU 20 in FIG. 1 adjusts the number of input buffers k × B (step S51). In other words, adjustment is made so that signals are sent in accordance with the number of input buffers k × B, and at the beginning and end of conversion, for example, the data (information α) for the shortage is adjusted. For example, the last part of the data acquired at the time immediately before the conversion process is taken out and used at the beginning of the conversion to compensate for the insufficient data. When there is no previous data at the beginning of conversion or when data is insufficient at the end of conversion, the information α is adjusted by a zero signal or a dummy signal. Note that the conversion value Y (Pr) = Y (m 0 T b ) corresponding to such initial and final signals can be deleted as unnecessary. Next, the CPU 20 refers to the storage in the RAM 40 to check whether or not the processing of the number of times that information can be output (number of output buffers k × A) has been performed (step S52). If not, a reference position address calculation process for reading the reference position of the lower data is performed (step S53). That is, the CPU 20 reads the address position for the original data string Y (nT) determined in step S19 from the RAM 40, and selects the part of the original data string Y (nT) required for the corresponding calculation. Perform the process. Next, the CPU 20 performs a difference interpolation position address preparation process (step S54). That is, the CPU 20 reads the address position for the differential interpolation position Pr determined in step S20 from the RAM 40. When preparation is made as described above, first, the CPU 20 checks whether the maximum number of taps TAmax (for example, TAmax = 30) has been operated with reference to the storage in the RAM 40, and if not, is prepared as described above. Each variation coefficient such as each filter system numerical value is loaded (step S56), and a convolution calculation process using the original data string portion and a filter coefficient including information on the difference interpolation position Pr is performed according to a program stored in the ROM 30. (Steps S56a and S56b) When the operation is processed for the number of taps TAmax, one converted value Y (Pr) = Y (m 0 T b ) of new data is created (Steps S57 and S58). ).

以下、上記した動作を出力バッファ数k×A回繰り返し(ステップS52)出力バッファ数k×A分のデータが蓄積されると図3の出力データバッファ80から一群の新しいデータ列Y(mT)として出力される(ステップS59)。つまり、図1の出力インターフェース部52を介して信号処理装置10の外部へ新しいデータ列Y(mT)が出力される。ステップS59においてデータが出力されると、入力インターフェース部51を介して新たな入力データがあるか否かを判断し(ステップS60)、入力データがある場合には(ステップS60:Yes)、再びデータを作成するための動作(ステップS51〜ステップS60)を繰り返し、入力データがなくなれば(ステップS60:No)、データ算出工程の動作を終了する。Thereafter, the above operation is repeated k × A times for the number of output buffers (step S52). When data for the number of output buffers k × A is accumulated, a group of new data strings Y (mT b ) from the output data buffer 80 of FIG. (Step S59). That is, a new data string Y (mT b ) is output to the outside of the signal processing apparatus 10 via the output interface unit 52 of FIG. When data is output in step S59, it is determined whether there is new input data via the input interface unit 51 (step S60). If there is input data (step S60: Yes), the data is again displayed. Is repeated (step S51 to step S60), and if there is no input data (step S60: No), the operation of the data calculation process is terminated.

〔第2実施形態〕
以下、図11を参照して、本発明の第2実施形態に係る信号処理装置について説明する。なお、本実施形態の信号処理装置は、回路構造を備えて構成されているが、第1実施形態の変形例であり、図1等に示す信号処理装置10の要素と同一名称のものについては、特に説明をしない限り、同様の機能を有するものとする。
[Second Embodiment]
Hereinafter, a signal processing device according to a second embodiment of the present invention will be described with reference to FIG. Note that the signal processing apparatus of the present embodiment is configured to have a circuit structure, but is a modification of the first embodiment, and has the same name as the element of the signal processing apparatus 10 shown in FIG. Unless otherwise specified, the same function is assumed.

図11に示す信号処理装置110は、データ作成部120と、コントローラ130と、係数テーブル140と、時間補間位置テーブル150と、抽出部160と、入力データ送出部170と、畳み込み演算部180と、出力データ部190と、出力バッファ部191とを備える。なお、時間補間位置テーブル150は、アドレス位置テーブル150aと、差分補間位置テーブル150bとを含む。   11 includes a data creation unit 120, a controller 130, a coefficient table 140, a time interpolation position table 150, an extraction unit 160, an input data transmission unit 170, a convolution operation unit 180, An output data unit 190 and an output buffer unit 191 are provided. The time interpolation position table 150 includes an address position table 150a and a difference interpolation position table 150b.

データ作成部120は、離散インパルス応答関数η(Pr,n)に対応するフィルター係数の作成等の準備をする係数準備工程を行う。コントローラ130は、フィルター係数に基づく畳み込み演算により新しいデータについての変換値変換値Y(m)=Y(Pr)を算出するデータ算出工程を行う。The data creation unit 120 performs a coefficient preparation step for preparing for creation of a filter coefficient corresponding to the discrete impulse response function η (Pr, n). The controller 130 performs a data calculation step of calculating a conversion value conversion value Y (m 0 T b ) = Y (Pr) for new data by a convolution operation based on the filter coefficient.

以下、データ作成部120及びコントローラ130によるデータ処理工程の動作説明をする。まず、データ作成部120は、離散インパルス応答関数η(Pr,n)に対応するフィルター係数の作成等の準備をすると、係数テーブル140に作成したフィルター係数列60a等の情報を出力する。また、新しく生成されるデータ列の作成のために用いる元のデータの位置に関する情報を時間補間位置テーブル150のアドレス位置テーブル150aに出力し(図8のステップS19の処理に相当する)、差分補間位置Prに関する情報を時間補間位置テーブル150の差分補間位置テーブル150bに出力する(図8のステップS20の処理に相当する)。以上により、係数準備工程が完了する。次に、コントローラ130は、データ算出工程の動作を行う。具体的には、まず、コントローラ130は、係数テーブル140及び時間補間位置テーブル150から離散インパルス応答関数η(Pr,n)に基づくフィルター係数に相当する1つのフィルター係数列60aを抽出部160に読み出す。一方、当該フィルター係数列60aに対応する元のデータ列の部分を元のデジタルデータ列Y(nT)から抽出して入力データ送出部170に配列する。さらに、コントローラ130は、入力データ送出部170に抽出された入力データ70aと抽出部160に読み出されたフィルター係数列60aとを畳み込み演算部180で畳み込み演算処理する。畳み込み演算部180での演算結果は、出力データ部190に出力され、さらに、出力データ部190の出力データ80aは、出力バッファ部191により外部へ出力される。以上のように、コントローラ130の制御によって新しいデータについての変換値を算出するデータ算出工程の動作がなされる。この場合、図に示すように、コントローラ130と、これに制御される係数テーブル140、時間補間位置テーブル150、抽出部160、入力データ送出部170、畳み込み演算部180、出力データ部190及び出力バッファ部191とは、変動FIRフィルター200として機能している。   Hereinafter, the operation of the data processing step by the data creation unit 120 and the controller 130 will be described. First, when preparing the creation of filter coefficients corresponding to the discrete impulse response function η (Pr, n), the data creation unit 120 outputs information such as the created filter coefficient sequence 60a in the coefficient table 140. Also, information on the position of the original data used for creating a newly generated data string is output to the address position table 150a of the time interpolation position table 150 (corresponding to the process of step S19 in FIG. 8), and differential interpolation is performed. Information on the position Pr is output to the differential interpolation position table 150b of the time interpolation position table 150 (corresponding to the process of step S20 in FIG. 8). Thus, the coefficient preparation process is completed. Next, the controller 130 performs the operation of the data calculation process. Specifically, first, the controller 130 reads, from the coefficient table 140 and the time interpolation position table 150, one filter coefficient sequence 60a corresponding to a filter coefficient based on the discrete impulse response function η (Pr, n) to the extraction unit 160. . On the other hand, the original data string portion corresponding to the filter coefficient string 60 a is extracted from the original digital data string Y (nT) and arranged in the input data sending unit 170. Further, the controller 130 performs convolution operation processing on the input data 70 a extracted by the input data transmission unit 170 and the filter coefficient sequence 60 a read by the extraction unit 160 by the convolution operation unit 180. The calculation result in the convolution calculation unit 180 is output to the output data unit 190, and the output data 80a of the output data unit 190 is output to the outside by the output buffer unit 191. As described above, the operation of the data calculation process for calculating the conversion value for new data is performed under the control of the controller 130. In this case, as shown in the figure, the controller 130, the coefficient table 140 controlled thereby, the time interpolation position table 150, the extraction unit 160, the input data transmission unit 170, the convolution operation unit 180, the output data unit 190, and the output buffer The unit 191 functions as the variable FIR filter 200.

なお、本発明は、上記に限定されるものではなく、例えば、式(1)の関数Y(t)は、時間tについて任意の点を抽出可能であり、出力データについて、周期性を持たせることなく関数Y(t)上の任意の点からサンプリングして構成することも可能である。また、入力データについても、周期的なものとしているが、必ずしも全てのデータが周期的なものでなくてもよく、例えば、データのヘッダー部分についてのみ読み取りを行うといった態様においても適用させることができる。   Note that the present invention is not limited to the above. For example, the function Y (t) in the expression (1) can extract an arbitrary point with respect to the time t, and the output data has periodicity. It is also possible to configure by sampling from an arbitrary point on the function Y (t). The input data is also periodic, but not all data is necessarily periodic. For example, the present invention can be applied to a mode in which only the header portion of data is read. .

また、上記各実施形態では、元のデータ列Y(nT)を音声その他の時系列的なデジタルデータとし、狭義のサンプリング周波数レート変換について説明しているが、本発明は、これに限らず、例えば3次元グラフィックスの表示や動画の再生におけるフレームレート変換、画像等の拡大、縮小等の解像度変換、といった各種データ変換処理等の広義のサンプリング周波数レート変換としても適用可能である。   In each of the above embodiments, the original data string Y (nT) is audio or other time-series digital data and the sampling frequency rate conversion in a narrow sense is described. However, the present invention is not limited to this, For example, the present invention can also be applied to sampling frequency rate conversion in a broad sense such as various data conversion processes such as frame rate conversion in the display of three-dimensional graphics and moving image reproduction, and resolution conversion such as enlargement and reduction of images.

また、上記第1実施形態では、窓関数を基本係数とを掛け合わせる態様としているが、窓関数の利用方法はこれ以外であっても構わない。また、窓関数の種類についても、既述のように種々のものを採用することができる。   In the first embodiment, the window function is multiplied by the basic coefficient. However, the window function may be used in other ways. Also, various types of window functions can be adopted as described above.

また、上記第1実施形態では、窓関数と基本係数とを掛け合わせて算出される仮係数について正規化の処理を行うものとしているが、係数の正規化処理は、ここに限らず、プログラムの設計等に応じて種々の状態において行うことも可能である。   In the first embodiment, the normalization process is performed on the temporary coefficient calculated by multiplying the window function and the basic coefficient. However, the coefficient normalization process is not limited to this, and the program normalization process is not limited thereto. It is also possible to carry out in various states depending on the design or the like.

また、上記第1実施形態では、変動FIRフィルターにおいて、遮断周波数f/2についても加味することで、エイリアシング防止用のローパスフィルターとしての役割も兼ねたものとしているが、それに加えて他の機能を持たせることもできる。例えば、所望の周波数以下の成分に制限するローパスフィルター、所望の周波数以上の成分に制限するハイパスフィルター、所望の周波数範囲の成分に制限するバンドパスフィルター、特定の周波数帯域を除去する帯域除去フィルター等としての役割も兼ねた構成とすることができる。In the first embodiment, the variable FIR filter also serves as a low-pass filter for preventing aliasing by taking into account the cutoff frequency f c / 2, but in addition to this, other functions Can also be given. For example, a low-pass filter that limits components below the desired frequency, a high-pass filter that limits components above the desired frequency, a band-pass filter that limits components within the desired frequency range, a band elimination filter that removes specific frequency bands, etc. It can be set as the structure which also served as.

随意に設定可能なローパスフィルターの機能を持たせた構成としては、例えば式(10)の離散インパルス応答関数η(Pr,n)に代えて以下の式を適用することができる。

Figure 0005774475
ここで、式(14)において、f´/2は、強制的遮断周波数である。なお、f´<fとなっている。この場合、式(14)を適用することで、補間計算式即ち変換値は、
Figure 0005774475
と表される。現実には、窓関数を含む近似式が用いられ、nを有限の積和演算タップ数とする。As a configuration having an arbitrarily settable low-pass filter function, for example, the following equation can be applied instead of the discrete impulse response function η (Pr, n) of equation (10).
Figure 0005774475
Here, in Expression (14), f ′ c / 2 is a forced cutoff frequency. It should be noted, has become a f'c <f c. In this case, by applying Expression (14), the interpolation calculation formula, that is, the converted value is
Figure 0005774475
It is expressed. In reality, an approximate expression including a window function is used, and n is a finite number of product-sum operation taps.

また、随意に設定可能なハイパスフィルターの機能を持たせた構成としては、例えば式(10)の離散インパルス応答関数η(Pr,n)に代えて以下の式を適用することができる。

Figure 0005774475
ここで、式(15)において、f/2は、エイリアシング防止のための遮断周波数であり、f/2は、ハイパス周波数である。なお、f<fとなっている。この場合、式(15)を適用することで、補間計算式即ち変換値は、
Figure 0005774475
と表される。As a configuration having a function of a high-pass filter that can be arbitrarily set, for example, the following formula can be applied instead of the discrete impulse response function η (Pr, n) of formula (10).
Figure 0005774475
Here, in Expression (15), f c / 2 is a cutoff frequency for preventing aliasing, and f d / 2 is a high-pass frequency. It should be noted, has become a f d <f c. In this case, by applying the equation (15), the interpolation calculation formula, that is, the converted value is
Figure 0005774475
It is expressed.

さらに、随意に設定可能なバンドパスフィルターの機能を持たせた構成としては、例えば式(10)の離散インパルス応答関数η(Pr,n) に代えて以下の式を適用することができる。

Figure 0005774475
ここで、式(16)において、f´/2は、強制的遮断周波数であり、f/2は、ハイパス周波数である。なお、f<f´<fとなっている。この場合、式(16)を適用することで、補間計算式即ち変換値は、
Figure 0005774475
と表される。Furthermore, as a configuration having a function of a bandpass filter that can be arbitrarily set, for example, the following equation can be applied instead of the discrete impulse response function η (Pr, n) of equation (10).
Figure 0005774475
Here, in Expression (16), f ′ c / 2 is a forced cutoff frequency, and f d / 2 is a high-pass frequency. It should be noted, has become a f d <f'c <f c . In this case, by applying Expression (16), the interpolation calculation formula, that is, the converted value is
Figure 0005774475
It is expressed.

さらに、随意に特定帯域の周波数の除去が可能な帯域除去フィルターの機能を持たせた構成としては、例えば式(10)の離散インパルス応答関数η(Pr,n) に代えて以下の式を適用することができる。

Figure 0005774475
ここで、式(17)において、f/2は、帯域除去下端周波数であり、f/2は、帯域除去上端周波数である。なお、f<f<fとなっている。この場合、式(17)を適用することで、補間計算式即ち変換値は、
Figure 0005774475
と表される。Further, as a configuration having a function of a band elimination filter capable of arbitrarily removing a frequency in a specific band, for example, the following formula is applied instead of the discrete impulse response function η (Pr, n) of formula (10): can do.
Figure 0005774475
Here, in Expression (17), f j / 2 is a band elimination lower limit frequency, and f k / 2 is a band elimination upper limit frequency. It should be noted, it has become a f j <f k <f c . In this case, by applying Expression (17), the interpolation calculation formula, that is, the converted value is
Figure 0005774475
It is expressed.

また、上記第1実施形態では、例えば、図1に示すように、信号処理装置10における各種の処理をCPU20により行っているが、CPU20に代えて、積和演算が高速に処理できるように信号処理について特化したDSP(Digital Signal Processor)や、CPU等を1個の半導体チップに集積したMPU(Micro Processor Unit)等を用いることも可能である。また、DSPやMPUは、例えば、信号処理装置10のROM30やRAM40等の記憶部分に相当する機能も含んで畳み込み演算等の各種処理を行うものとしてもよい。   In the first embodiment, for example, as shown in FIG. 1, various processes in the signal processing apparatus 10 are performed by the CPU 20, but instead of the CPU 20, a signal is used so that the product-sum operation can be processed at high speed. It is also possible to use a DSP (Digital Signal Processor) specialized for processing, an MPU (Micro Processor Unit) in which a CPU or the like is integrated on one semiconductor chip, or the like. Further, the DSP or MPU may perform various processes such as a convolution operation including functions corresponding to storage portions such as the ROM 30 and the RAM 40 of the signal processing apparatus 10.

10,110…信号処理装置、 20…CPU、 30…ROM、 40…RAM、 Y(nT),Y(mT)…データ列、 T,T…周期、 f,f,f…周波数、 差分補間位置…Pr、 60,140…係数テーブル、 60a…フィルター係数列、 61,160…抽出部、 70…入力データバッファ、 80…出力データバッファ、 120…データ作成部、 130…コントローラ、 150…時間補間位置テーブル、 170…入力データ送出部、 180…畳み込み演算部10, 110 ... signal processing unit, 20 ... CPU, 30 ... ROM , 40 ... RAM, Y (nT), Y (mT b) ... data string, T, T b ... period, f s, f b, f c ... Frequency, differential interpolation position ... Pr, 60,140 ... coefficient table, 60a ... filter coefficient sequence, 61,160 ... extraction unit, 70 ... input data buffer, 80 ... output data buffer, 120 ... data creation unit, 130 ... controller, 150 ... time interpolation position table, 170 ... input data transmission unit, 180 ... convolution operation unit

Claims (5)

離散的な元のデータから変換によって得ようとする新たなデータに対応する時間補間位置での変換値を与えるため前記時間補間位置に応じた離散インパルス応答関数に基づいてフィルター係数を準備する係数準備手段と、
前記元のデータを処理するために出力標本化周波数で常に動作する変動FIRフィルターを含み、前記係数準備手段において準備された前記フィルター係数を前記変動FIRフィルターの係数として取り込み、変動FIRの振動又は変動する前記フィルター係数の畳み込み演算により、前記時間補間位置における前記新たなデータを算出するデータ算出手段と、を備え、
前記係数準備手段は、前記離散インパルス応答関数に基づいて前記フィルター係数を設定することによって、周波数帯域を選択し、
前記元のデータから復元される前記新たなデータY(Pr)は、
Tを、前記元のデータのサンプリング周期とし、nを整数とし、Y(nT)を、前記元のデータとし、fを、前記元のデータのサンプリング周波数とし、fを、前記元のデータのサンプリング周波数と前記新たなデータのサンプリング周波数とのうち小さい方の値とし、
を、前記新たなデータのサンプリング周期とし、Prを、前記元のデータの離散点と前記時間補間位置との差に相当する所定パラメーターとし、いずれも整数であるn及びmによりPr=nT−mと表されるものとし、
記周波数帯域として、ハイパス周波数帯域、バンドパス周波数帯域、及び帯域除去周波数のうち1つが選択され、
前記ハイパス周波数帯域を選択したとき、f/2をハイパス周波数とし、f<fとして、以下の畳み込み演算数式
Figure 0005774475
又はnを有限値とする窓関数を用いた近似式を用いて表現され、
前記バンドパス周波数帯域を選択したとき、f´/2を強制的遮断周波数とし、f/2をハイパス周波数とし、f<f´<fとして、以下の畳み込み演算数式
Figure 0005774475
又はnを有限値とする窓関数を用いた近似式を用いて表現され、
前記帯域除去周波数を選択したとき、f/2を帯域除去下端周波数とし、f/2を帯域除去上端周波数とし、f<f<fとして、以下の畳み込み演算数式
Figure 0005774475
又はnを有限値とする窓関数を用いた近似式を用いて表現される、サンプリング周波数レート変換の装置。
Coefficient preparation for preparing a filter coefficient based on a discrete impulse response function corresponding to the time interpolation position in order to give a conversion value at a time interpolation position corresponding to new data to be obtained by conversion from discrete original data Means,
A variable FIR filter that always operates at an output sampling frequency to process the original data, the filter coefficient prepared in the coefficient preparation means is taken in as a coefficient of the variable FIR filter, and the fluctuation or fluctuation of the variable FIR Data calculation means for calculating the new data at the time interpolation position by a convolution operation of the filter coefficient ,
It said coefficients preparation unit, by setting the filter coefficient based on the discrete impulse response function, selects a frequency band,
The new data Y (Pr) restored from the original data is
T is the sampling period of the original data, n is an integer, Y (nT) is the original data, f s is the sampling frequency of the original data, and f c is the original data. And the smaller of the sampling frequency of the new data and the sampling frequency of the new data,
Tb is the sampling period of the new data, Pr is a predetermined parameter corresponding to the difference between the discrete point of the original data and the time interpolation position, and Pr is given by n 0 and m 0 which are both integers. = N 0 T−m 0 T b
As before Symbol frequency band, high-pass frequency band, one of the band-pass frequency band, and the band rejection frequency is selected and
Wherein when selecting the high-pass frequency band, the f d / 2 and a high-pass frequency, as f d <f c, the following convolution equation
Figure 0005774475
Or an approximate expression using a window function with a finite value of n,
When selecting the band-pass frequency band, and forcibly cutoff frequency f'c / 2, the f d / 2 and a high-pass frequency, as f d <f'c <f c , the following convolution equation
Figure 0005774475
Or an approximate expression using a window function with a finite value of n,
When selecting the band rejection frequency, the f j / 2 as a band elimination lower frequency, the f k / 2 as a band elimination upper frequency, as f j <f k <f c , the following convolution equation
Figure 0005774475
Or the apparatus of sampling frequency rate conversion expressed using the approximation formula using the window function which makes n a finite value.
前記係数準備手段は、前記離散インパルス応答関数に基づく前記フィルター係数として係数テーブルを準備するとともに、前記係数テーブルに関連付けた制御のための時間補間位置テーブルを準備し、
前記データ演算手段は、前記変換値を算出するための変動FIRフィルターにより、前記係数テーブルの各データと元のデータとの間で、前記時間補間位置テーブルに応じて振動又は変動する前記フィルター係数による畳み込み演算を行って前記変換値を算出する、請求項1に記載のサンプリング周波数レート変換の装置。
The coefficient preparation means prepares a coefficient table as the filter coefficient based on the discrete impulse response function, and prepares a time interpolation position table for control associated with the coefficient table,
The data calculation means is based on the filter coefficient that oscillates or fluctuates according to the time interpolation position table between each data of the coefficient table and the original data by the fluctuation FIR filter for calculating the conversion value. The sampling frequency rate conversion apparatus according to claim 1, wherein the conversion value is calculated by performing a convolution operation.
前記係数準備手段は、前記離散インパルス応答関数に基づく前記フィルター係数を正規化するための正規化手段をさらに有する、請求項1及び請求項2のいずれか一項に記載のサンプリング周波数レート変換の装置。   The sampling frequency rate conversion device according to any one of claims 1 and 2, wherein the coefficient preparation means further includes normalization means for normalizing the filter coefficient based on the discrete impulse response function. . 離散的な元のデータから変換によって得ようとする新たなデータに対応する時間補間位置での変換値を与えるため前記時間補間位置に応じた離散インパルス応答関数に基づいてフィルター係数を準備する係数準備工程と、
前記係数準備工程において準備された前記フィルター係数を出力標本化周波数で常に動作する変動FIRフィルターの係数として取り込み、変動FIRの振動又は変動する前記フィルター係数の畳み込み演算により、前記時間補間位置における前記新たなデータを算出するデータ算出工程と、を備え、
前記係数準備工程で、前記離散インパルス応答関数に基づいて前記フィルター係数を設定することによって、周波数帯域を選択し、
前記元のデータから復元される前記新たなデータY(Pr)は、
Tを、前記元のデータのサンプリング周期とし、nを整数とし、Y(nT)を、前記元のデータとし、fを、前記元のデータのサンプリング周波数とし、fを、前記元のデータのサンプリング周波数と前記新たなデータのサンプリング周波数とのうち小さい方の値とし、
を、前記新たなデータのサンプリング周期とし、Prを、前記元のデータの離散点と前記時間補間位置との差に相当する所定パラメーターとし、いずれも整数であるn及びmによりPr=nT−mと表されるものとし、
記周波数帯域として、ハイパス周波数帯域、バンドパス周波数帯域、及び帯域除去周波数のうち1つが選択され
前記ハイパス周波数帯域を選択したとき、f/2をハイパス周波数とし、f<fとして、以下の畳み込み演算数式
Figure 0005774475
又はnを有限値とする窓関数を用いた近似式を用いて表現され、
前記バンドパス周波数帯域を選択したとき、f´/2を強制的遮断周波数とし、f/2をハイパス周波数とし、f<f´<fとして、以下の畳み込み演算数式
Figure 0005774475
又はnを有限値とする窓関数を用いた近似式を用いて表現され、
前記帯域除去周波数を選択したとき、f/2を帯域除去下端周波数とし、f/2を帯域除去上端周波数とし、f<f<fとして、以下の畳み込み演算数式
Figure 0005774475
又はnを有限値とする窓関数を用いた近似式を用いて表現される、サンプリング周波数レート変換の方法。
Coefficient preparation for preparing a filter coefficient based on a discrete impulse response function corresponding to the time interpolation position in order to give a conversion value at a time interpolation position corresponding to new data to be obtained by conversion from discrete original data Process,
The filter coefficient prepared in the coefficient preparation step is fetched as a coefficient of a variable FIR filter that always operates at an output sampling frequency, and the new value at the time interpolation position is obtained by convolution of the variable FIR oscillation or the variable filter coefficient. A data calculation process for calculating various data ,
Wherein a factor preparation step, by setting the filter coefficient based on the discrete impulse response function, selects a frequency band,
The new data Y (Pr) restored from the original data is
T is the sampling period of the original data, n is an integer, Y (nT) is the original data, f s is the sampling frequency of the original data, and f c is the original data. And the smaller of the sampling frequency of the new data and the sampling frequency of the new data,
Tb is the sampling period of the new data, Pr is a predetermined parameter corresponding to the difference between the discrete point of the original data and the time interpolation position, and Pr is given by n 0 and m 0 which are both integers. = N 0 T−m 0 T b
As before Symbol frequency band, high-pass frequency band, one of the band-pass frequency band, and the band rejection frequency is selected and
Wherein when selecting the high-pass frequency band, the f d / 2 and a high-pass frequency, as f d <f c, the following convolution equation
Figure 0005774475
Or an approximate expression using a window function with a finite value of n,
When selecting the band-pass frequency band, and forcibly cutoff frequency f'c / 2, the f d / 2 and a high-pass frequency, as f d <f'c <f c , the following convolution equation
Figure 0005774475
Or an approximate expression using a window function with a finite value of n,
When selecting the band rejection frequency, the f j / 2 as a band elimination lower frequency, the f k / 2 as a band elimination upper frequency, as f j <f k <f c , the following convolution equation
Figure 0005774475
Alternatively, a sampling frequency rate conversion method expressed using an approximate expression using a window function in which n is a finite value.
前記係数準備工程で、前記離散インパルス応答関数に基づく前記フィルター係数として係数テーブルを準備するとともに、前記係数テーブルに関連付けた制御のための時間補間位置テーブルを準備し、
前記データ算出工程で、前記変換値を算出するための変動FIRフィルターにより、前記係数テーブルの各データと元のデータとの間で、前記時間補間位置テーブルに応じて振動又は変動する前記フィルター係数による畳み込み演算を行って前記変換値を算出する、請求項4に記載のサンプリング周波数レート変換の方法。
In the coefficient preparation step, a coefficient table is prepared as the filter coefficient based on the discrete impulse response function, and a time interpolation position table for control associated with the coefficient table is prepared,
According to the filter coefficient that vibrates or fluctuates according to the time interpolation position table between each data of the coefficient table and the original data by the fluctuation FIR filter for calculating the conversion value in the data calculation step. The sampling frequency rate conversion method according to claim 4, wherein the conversion value is calculated by performing a convolution operation.
JP2011509371A 2009-04-17 2010-04-16 Apparatus and method for SRC by extracting and synthesizing impulse response Expired - Fee Related JP5774475B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011509371A JP5774475B2 (en) 2009-04-17 2010-04-16 Apparatus and method for SRC by extracting and synthesizing impulse response

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009101450 2009-04-17
JP2009101450 2009-04-17
JP2011509371A JP5774475B2 (en) 2009-04-17 2010-04-16 Apparatus and method for SRC by extracting and synthesizing impulse response
PCT/JP2010/056876 WO2010119963A1 (en) 2009-04-17 2010-04-16 Src device and method based on the extraction and synthesis of an impulse response

Publications (2)

Publication Number Publication Date
JPWO2010119963A1 JPWO2010119963A1 (en) 2012-10-22
JP5774475B2 true JP5774475B2 (en) 2015-09-09

Family

ID=42982620

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011509371A Expired - Fee Related JP5774475B2 (en) 2009-04-17 2010-04-16 Apparatus and method for SRC by extracting and synthesizing impulse response

Country Status (2)

Country Link
JP (1) JP5774475B2 (en)
WO (1) WO2010119963A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104579239B (en) * 2014-12-19 2017-11-28 广东宝莱特医用科技股份有限公司 A kind of filter method of filtering system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0495412A (en) * 1990-08-13 1992-03-27 Hitachi Ltd Sampling frequency conversion circuit
JPH04247732A (en) * 1991-02-01 1992-09-03 Hitachi Ltd Frequency devision multiple signal processor
JP2004529519A (en) * 2000-11-03 2004-09-24 クゥアルコム・インコーポレイテッド Digital filter with state memory
JP2005287032A (en) * 2004-03-26 2005-10-13 Euresys Sa Image frame grabber device and method thereof

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60131115T2 (en) * 2000-06-02 2008-08-14 Texas Instruments Inc., Dallas Sample rate converter and method
JP2008181020A (en) * 2007-01-25 2008-08-07 Faith Inc Waveform generator, synthesizer for sound source

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0495412A (en) * 1990-08-13 1992-03-27 Hitachi Ltd Sampling frequency conversion circuit
JPH04247732A (en) * 1991-02-01 1992-09-03 Hitachi Ltd Frequency devision multiple signal processor
JP2004529519A (en) * 2000-11-03 2004-09-24 クゥアルコム・インコーポレイテッド Digital filter with state memory
JP2005287032A (en) * 2004-03-26 2005-10-13 Euresys Sa Image frame grabber device and method thereof

Also Published As

Publication number Publication date
WO2010119963A1 (en) 2010-10-21
JPWO2010119963A1 (en) 2012-10-22

Similar Documents

Publication Publication Date Title
JP2986745B2 (en) Composite phase filter, timing error compensating apparatus and method using the same
JP5142342B2 (en) AD converter circuit
JP6573869B2 (en) Voice filtering with increased virtual sample rate
EP2771973B1 (en) Asynchronous sample rate converter
CN108763720B (en) DDC implementation method with sampling rate capable of being adjusted down at will
US20060212503A1 (en) Multi-channel sample rate conversion method
EP3466004B1 (en) Method and apparatus for sampling rate conversion of a stream of samples
JP4449007B2 (en) Sampling frequency converter
JP2008021119A (en) Digital filter and image processor using the same
JP5774475B2 (en) Apparatus and method for SRC by extracting and synthesizing impulse response
JP5541832B2 (en) Sampling rate conversion
JPWO2005078925A1 (en) Digital filter design method and device, digital filter design program, digital filter
CN106972840B (en) Sampling rate conversion method and device
JP5882917B2 (en) Digital filter capable of frequency reconstruction, filtering method, equalizer using the same, and design method thereof
US8949303B2 (en) Filter
JP2010041311A (en) Filter, and configuration system and configuration method of filter
JP4386079B2 (en) Sampling frequency converter
JPH0590897A (en) Oversampling filter circuit
JP2010212779A (en) Sampling frequency converter
JP6935912B2 (en) Data interpolation device and data interpolation method
JP2008219560A (en) Decimation filter
JP4968850B2 (en) Filter, filter design system, design method, and design program
US7242326B1 (en) Sample rate conversion combined with filter
JP3097599B2 (en) Digital filter
JP2009033506A (en) Digital filter

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140826

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150310

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150602

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150701

R150 Certificate of patent or registration of utility model

Ref document number: 5774475

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees