Asynchronous sampling frequency conversion device, method, and computer program product
Granted 7 Oct 2014 · 1 office action
Current assignee: JVCKenwood USA Corporation · originally JVC Kenwood Holdings Inc.
Law firm: Law firm · Log in to unlock
Attorney: Attorney · Log in to unlock
Inventors: Masami Nakamura · Examiner: Brian Young · AU 2845 · TC 2800
Life of the application
8 dated eventsAbstract
An asynchronous sampling frequency conversion device includes: a storage unit configured to store input digital signals; a data specifying unit configured to specify first data and second data based on a ratio of a sampling frequency of the input digital signal to a sampling frequency of an output digital signal, the first data being sampled at a sampling timing immediately before an i th (where i is a natural number) sampling timing of the output digital signal among the input digital signals stored in the storage unit, the second data being sampled at the sampling timing immediately after the i th sampling timing of the output digital signal; and an output data value calculator configured to calculate a value of i th data of the output digital signal based on the first data and the second data specified by the data specifying unit and the ratio.
Description
10 parts›CROSS-REFERENCE TO RELATED APPLICATIONS
The present application claims priority to and incorporates by reference the entire contents of Japanese Patent Application No. 2012-017362 filed in Japan on Jan. 30, 2012.
›BACKGROUND
The present invention relates to an asynchronous sampling frequency conversion device, a method, and a computer program product.
When an analog signal is converted into a digital signal, a sampling method of reading the waveform level of the analog signal at given time intervals and recording the read level value is used. In digital audio devices or the like, 32 kHz, 44.1 kHz, 48 kHz, and 96 kHz are generally used as sampling frequencies. For example, in cases of a CD (compact disc) and a DVD (digital versatile disc), sampling is performed at 44.1 kHz and 48 kHz, respectively.
For example, when a digital signal is transmitted and received between devices in which sampling frequencies are different, it is necessary to convert the sampling frequency of the digital signal. In order to change the sampling frequency of a digital signal, an asynchronous sampling rate converter is used.
A conventional asynchronous sampling rate converter changes a sampling frequency by performing up-sampling (0 compensation) on an input signal up to the least common multiple between sample frequencies before and after conversion, and then performing down-sampling (thinning) to a desired sampling frequency. Accordingly, for example, when the conventional asynchronous sampling rate converter converts a sampling frequency from 48 kHz to 44.1 kHz, the conventional asynchronous sampling rate converter has to perform up-sampling up to 7056 kHz which is the least common multiple between 48 kHz and 44.1 kHz, that is, up-sampling by 147 multiples of the input signal.
In the conventional asynchronous sampling rate converter, a LPF (Lowpass Filter) that cuts a high-frequency component equal to or greater than the nyquist frequency (½ of the sampling frequency of an input signal) is disposed between an up-sampling unit and a down-sampling unit. An input signal into the LPF is a signal subjected to the up-sampling, and the sampling frequency of the signal is very high, as described above. For this reason, the LPF is required to have high-speed responsiveness and a high processing performance.
As a technology for suppressing a processing amount in an asynchronous sampling converter, a method of using linear interpolation is suggested by Japanese Laid-open Patent Publication No. 1-77326.
According to the method of using linear interpolation disclosed in Japanese Laid-open Patent Publication No. 1-77326, sample data Yi (where i is a natural number) after conversion is calculated from two pieces of sampling data Xn and Xn+1 (where n is a natural number) before conversion sampled at timings immediately before and after the sampling timing of Yi. Specifically, Yi is calculated by a calculation expression “Yi=(1−ki)·Xn+ki·Xn+1” using ki as an interpolation coefficient corresponding to Yi.
The interpolation coefficient ki is calculated by “ki=(i·θ2−n·θ1)/θ1” by first specifying n that satisfies “n·θ1≦i·θ2<(n+1)·θ1” for each i, when it is assumed that θ1 is an input sampling period and θ2 is an output sampling period. Thus, in the method of using the linear interpolation disclosed in Japanese Laid-open Patent Publication No. 1-77326, it is necessary to first specify “n” and calculate each interpolation coefficient ki using the specified “n” in order to calculate each sampling data Yi after conversion. For this reason, it takes much time to perform the calculation, since a calculation amount is large.
According to the sampling theorem, an input signal with a frequency band up to ½ of an input clock frequency f in (=1/θ1) can be reproduced. However, due to the frequency characteristics of the linear interpolation, the amplitude of a waveform reproduced from the output sampling data Yi calculated through the linear interpolation decreases, as the frequency band of an input signal increases. Therefore, waveform distortion may be worsened. For example, with regard to an input signal with a frequency band of ½ of an input clock frequency f in , the amplitude of a waveform formed by the output sampling data Yi may decrease about 0.64 times the amplitude of the input signal.
›SUMMARY
According to an aspect of the present invention, an asynchronous sampling frequency conversion device includes: a storage unit configured to store input digital signals; a data specifying unit configured to specify first data and second data based on a ratio of a sampling frequency of the input digital signal to a sampling frequency of an output digital signal, the first data being sampled at a sampling timing immediately before an i th (where i is a natural number) sampling timing of the output digital signal among the input digital signals stored in the storage unit, the second data being sampled at the sampling timing immediately after the i th sampling timing of the output digital signal; and an output data value calculator configured to calculate a value of i th data of the output digital signal based on the first data and the second data specified by the data specifying unit and the ratio.
›BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram illustrating an example of an asynchronous sampling frequency conversion device according to a first embodiment;
FIG. 2 is a diagram illustrating an example of input sampling data information of an L channel according to the first embodiment;
FIG. 3 is a flowchart illustrating a process of generating the input sampling data information of the L channel according to the first embodiment;
FIG. 4 is a flowchart illustrating an L channel conversion process according to the first embodiment;
FIG. 5 is a diagram illustrating a correspondence relation among a sequence i of output sampling, a product (i·f in /f OUT ) of the sequence i and a ratio f in /f OUT , a rounddown (i·f in /f OUT ) a roundup (i·f in /f OUT ) input sampling data Xn, and input sampling data Xn+1, when a process of converting a sine wave with 8 kHz is performed according to the first embodiment;
FIG. 6 is a diagram illustrating a list of the output sampling data of the L channel according to the first embodiment;
FIG. 7 is a diagram illustrating a waveform reproduced from the output sampling data illustrated in FIG. 6 and a waveform reproduced from input sampling data of the L channel;
FIG. 8 is a block diagram illustrating an example of an asynchronous sampling frequency conversion device according to a second embodiment;
FIG. 9 is a diagram illustrating a list of the output sampling data of an L channel according to the second embodiment;
FIG. 10 is a diagram illustrating a waveform reproduced from the output sampling data illustrated in FIG. 9 and a waveform reproduced from input sampling data of the L channel; and
FIG. 11 is a diagram illustrating an example of output sampling information of the L channel.
›DETAILED DESCRIPTION · 1 of 6
An asynchronous sampling frequency conversion device according to preferred embodiments of the invention will be described.
First Embodiment
An asynchronous sampling frequency conversion device 1 according to a first embodiment is a device that converts the sampling frequency of an input digital signal and outputs the converted sampling frequency. As illustrated in FIG. 1 , the asynchronous sampling frequency conversion device 1 includes an input signal receiver 101 , an LPF 102 , a storage processing unit 103 , a storage (a storage unit) 104 , a sampling frequency conversion processing unit 105 , an output signal transmitter 106 , and clock generating circuits 107 and 108 .
For example, the input signal receiver 101 receives (latches) an input digital signal S in corresponding to two channels of an L channel and an R channel sent with I2S (The IC Sound Bus) which is a communication standard of a digital sound signal, left justified 24 bits, or the like in response to an RL clock RL in supplied from the clock generating circuit 107 , and outputs the input digital signal S in to the LPF 102 . For example, the RL clock RL in is generated from an RL clock transmitted from a signal supply source and has the same frequency as that of a sampling frequency (hereinafter, referred to as an input sampling frequency) f in of the input digital signal S in . When the input sampling frequency f in is, for example, 48 kHz, the input signal receiver 101 receives two pieces of input sampling data of the L channel and the R channel for each about 20.8 μsec (=1/48 kHz).
The LPF (Lowpass Filter) unit 102 operates in response to the RL clock RL in supplied from the clock generating circuit 107 and limits the bandwidth of the input digital signal S in . More specifically, the LPF 102 removes waveform distortion caused due to a return phenomenon by cutting a high-frequency wave component equal to or greater than the nyquist frequency (½ of input sampling frequency f in =f in /2) of the input signal S in .
The storage processing unit 103 includes a CPU and a memory that stores an operation program of the CPU. The storage processing unit 103 includes an internal counter 103 C with an initial setting value of “0.” The CPU included in the storage processing unit 103 executes the operation program, counts a number (sequence) n of data (input sampling data) X output from the LPF 102 by counting up the internal counter 103 C in response to the RL clock signal RL in , and calculates a time Tn from sampling start to an n th sampling timing, that is, n/f in . The storage processing unit 103 forms input data by causing the sequence n, the elapsed time Tn (=n/f in ), and the n th input sampling data Xn to correspond to each other, and stores a predetermined number of input data in the storage 104 . When the predetermined number of input data are stored in the storage 104 , the storage processing unit 103 erases the oldest (where the sequence n is the newest) input data and stores new input data. Further, data stored in the storage 104 is referred below to as input sampling data information.
For example, when the input digital signal S in is assumed to be data obtained by sampling an analog sine wave sin (2π·8000·t) with 8 kHz using the sampling frequency f in with 48 kHz, the storage processing unit 103 sequentially stores the sequence n, the elapsed time Tn (=n/f in ), and the input sampling data Xn in the storage 104 , as illustrated in FIG. 2 .
The storage 104 includes a RAM (Random Access Memory) and stores up to the predetermined number of input data in which the sequence n, the elapsed time Tn (=n/f in ), and the n th input sampling data Xn generated by the storage processing unit 103 correspond to each other. The storage 104 has a capacity in which a predetermined number of input data necessary for the sampling frequency conversion process performed by the sampling frequency conversion processing unit 105 can be stored. When the input sampling frequency is 48 kHz, for example, the storage 104 stores 480 pieces of input data of each of the L channel and the R channel. The number of input data retained in the storage 104 is merely an example. For example, the storage 104 may be configured to store 960 pieces of input data which is a double of the 480 pieces of input data.
The sampling frequency conversion processing unit 105 includes a CPU and an internal memory. The internal memory functions as a work area of a CPU (Central Processing Unit) and stores a conversion processing program executed by the CPU and fixed data necessary for the conversion process. The CPU functions as a data specifying unit 105 A, a determining unit 105 B, an output data value calculator 105 C, and a counter 105 D by executing the conversion processing program and calculates output sampling data of an output sampling frequency f out using the input sampling data information stored in the storage 104 by performing a conversion process to be described below.
The data specifying unit 105 A specifies input sampling data sampled at timings immediately before and after the sampling timing of output sampling data Yi (where i is an output sequence and is a natural number). Here, “the timings immediately before and after the output sampling timing” does not mean physical timings, but means sampling timings of the input digital signal S in immediately before and after the output sampling timing by specifying a timing of the input digital signal S in corresponding to the output sampling timing in consideration of delay of signal processing and using the specified timing as a reference.
Specifically, the data specifying unit 105 A acquires a ratio f in /f out of the input sampling frequency f in to the output sampling frequency f out For example, when the data specifying unit 105 A calculates the i th output sampling data Yi of the output digital signal, the data specifying unit 105 A calculates a value roundup (i·f in /f out ) obtained by rounding up a value (i·f in /f out ) which is i times the acquired ratio f in /f out , to a natural number and a value rounddown (i·f in /f out ) obtained by rounding down a value (i·f in /f out ), which is i times the acquired ratio f in /f out , to a natural number. For example, when i·f in /f out =1.12, the roundup (i·f in /f out )=2 and the rounddown (i·f in /f out )=1.
›DETAILED DESCRIPTION · 2 of 6
When the rounddown (i·f in /f out )=n (natural number) the data specifying unit 105 A specifies an n th input sampling data Xn as the input data sampled at timings immediately before the sampling timing of the output sampling data Yi, and specifies an (n+1) th input sampling data Xn+1 as the input data sampled at timings immediately after the sampling timing of the output sampling data Yi.
Here, when the rounddown (i·f in /f out )=the roundup (i·f in /f out )=n, that is, a value (i·f in /f out ) which is times the ratio f in /f out is a natural number, the data specifying unit 105 A specifies only the input sampling data Xn sampled at the same timing as the sampling timing of the output sampling data Yi as the data sampled at the timings immediately before and after the sampling timing of the output sampling data Yi.
The determining unit 105 B determines whether the rounddown (i·f in /f out )=the roundup (i·f in /f out )=n. That is, the determining unit 105 B determines whether a value (i·f in /f out ) which is i times the ratio f in /f out is a natural number. Further, the determining unit 105 B determines whether there are input sampling data corresponding to the rounddown (i·f in /f out ) and the roundup (i·f in /f out ) calculated by the data specifying unit 105 A. Specifically, the determining unit 105 B determines whether there are the sampling sequences corresponding to the rounddown (i·f in /f out ) and the roundup (i·f in /f out ) by searching for a column of the sampling sequence of the input sampling data information stored in the storage 104 .
The output data value calculator 105 C calculates the output sampling data Yi using the input sampling data Xn and Xn+1 specified by the data specifying unit 105 A. Specifically, the output data value calculator 105 C weights the input sampling data Xn with respect to a value obtained by subtracting the (i·f in /f out ) from the roundup (i·f in /f out ) and weights the input sampling data Xn+1 with respect to a value obtained by subtracting the rounddown (i·f in /f out ) from (i·f in /f out ). Then, the output data value calculator 105 C calculates the sum of the weighted input sampling data as the i th output sampling data Yi of the output digital signal. That is, the output data value calculator 105 C calculates the output sampling data Yi by the following expression (1).
Yi=Xn ·{roundup( i·f in /f out )−( i·f in /f out )}+ Xn+ 1·{( i·f in /f out )−rounddown( i·f in /f out )} (1)
In this expression, {(i·f in /f out )−rounddown (i·f in /f out )} corresponds to an interpolation coefficient ki in linear interpolation and {roundup (i·f in /f out )−(i·f in /f out )} corresponds to (1−ki).
Here, the determining unit 105 B determines that the product (i·f in /f out ) is a natural number, that is, the rounddown (i·f in /f out )=the roundup (i·f in /f out )=n, the output data value calculator 105 C calculates the input sampling data Xn specified by the data specifying unit 105 A as the output sampling data Yi. Then, the sampling frequency conversion processing unit 105 outputs the output sampling data Yi calculated by the output data value calculator 105 C to the output signal transmitter 106 .
The counter 105 D increments a counter value, whenever the output data value calculator 105 C calculates the output sampling data Yi. The initial setting value of the counter value of the counter 105 D is “1.” The counter value of the counter 105 D indicates a sampling sequence i in the output sampling frequency. The data specifying unit 105 A specifies the input sampling data Xn and Xn+1 based on the product (i·f in /f out ) of the counter value i of the counter 105 D and the ratio f in /f out .
The output signal transmitter 106 includes an FIFO memory. The output signal transmitter 106 stores the output sampling data Yi supplied from the sampling frequency conversion processing unit 105 and sequentially outputs the output sampling data Yi as the output digital signal S out in synchronization with the RL clock RL out of the output digital signal S out supplied from the clock generating circuit 108 .
The clock generating circuit 107 supplies the RL clock RL in synchronized with the RL clock RL in supplied from a source supplying the input digital signal S in to the input signal receiver 101 , the LPF 102 , and the storage processing unit 103 .
The clock generating circuit 108 generates and outputs the RL clock RL out of the output digital signal S out . The RL clock RL out has the same frequency as the sampling frequency f out of the output digital signal S out .
Next, a sampling frequency conversion process of the asynchronous sampling frequency conversion device 1 having the above-described configuration will be described.
Further, in the sampling frequency conversion process, a process on the data of the L channel and a process on the data of the R channel process are performed in parallel. However, the process for the L channel will be described below, since the process for the L channel is the same as the process of the R channel.
The sampling frequency conversion process includes a process of receiving the input digital signal S in and storing the input sampling data information in the storage 104 and a process of generating the output digital signal S out using the input sampling data information stored in the storage 104 .
First, the process of receiving the input digital signal S in and then storing the input sampling data information in the storage processing unit 103 will be described with reference to FIG. 3 .
The input sampling data (signal pieces) forming the input digital signal S in are sequentially supplied to the input signal receiver 101 . The input signal receiver 101 sequentially receives (latches) the supplied input sampling data (signal pieces) in response to the RL clock RL in and sequentially supplies the input sampling data to the LPF 102 .
The LPF 102 operates in response to the RL clock RL in , filters the input sampling data supplied from the input signal receiver 101 by removing a high-frequency wave component from the input sampling data, and supplies the result to the storage processing unit 103 .
›DETAILED DESCRIPTION · 3 of 6
The storage processing unit 103 starts a process of generating the input sampling data information illustrated in FIG. 3 in response to the RL clock RL in supplied from the clock generating circuit 107 .
First, the storage processing unit 103 (accurately, the CPU of the storage processing unit 103 ) increments the counter value (sequence) n of the internal counter 103 C (step S 01 ) and calculates the sequence n of the input sampling data.
Next, the storage processing unit 103 calculates the elapsed time Tn (=n/f in ) from the sampling start to an n th sampling timing by calculating a product of the counter value (sequence) n and a supply period 1/f in of the input digital signal S in (step S 02 ).
Next, the storage processing unit 103 acquires the input sampling data Xn output at the n th time from the LPF 102 (step S 03 ) and determines whether the number of acquired input sampling data Xn is greater than a predetermined number (step S 04 ).
When the storage processing unit 103 determines that the number of acquired input sampling data Xn is greater than the predetermined number (YES in step S 04 ), the storage processing unit 103 wastes the oldest stored input data among the input sampling data information stored in the storage 104 from the input sampling data information (step S 05 ). Then, the storage processing unit 103 adds input data formed by the counter value (sequence) n of the internal counter 103 C incremented in the process of step S 01 , the elapsed time Tn calculated in the process of step S 02 , and the input sampling data Xn acquired in the process of step S 03 to the input sampling data information (step S 06 ).
Conversely, when the storage processing unit 103 determines that the number of acquired input sampling data Xn is not greater than the predetermined number (NO in step S 04 ), the process of step S 05 is skipped, and then the storage processing unit 103 adds input data formed by the counter value (sequence) n of the internal counter 103 C incremented in the process of step S 01 , the elapsed time Tn calculated in the process of step S 02 , and the input sampling data Xn acquired in the process of step S 03 to the input sampling data information (step S 06 ).
By repeating the above-described process of generating the input sampling data information, as illustrated in FIG. 2 , a predetermined number of input sampling data X immediately adjacent to each other are stored as the input sampling data information in the storage 104 .
Next, a conversion process performed by the sampling frequency conversion processing unit 105 will be described with reference to FIG. 4 . The sampling frequency conversion processing unit 105 performs conversion process for the L channel and the R channel in parallel. The conversion process for the L channel will be described below, since the conversion process for the L channel is the same as the conversion process for the R channel. The conversion process starts using RL out as a trigger.
It is supposed that the ratio f in /f out of the input sampling frequency f in to the output sampling frequency f out is calculated in advance and is stored in a non-volatile memory or the like included in the internal memory of the sampling frequency conversion processing unit 105 .
The data specifying unit 105 A acquires the ratio f in /f out of the input sampling frequency f in to the output sampling frequency f out stored in the internal memory of the sampling frequency conversion processing unit 105 (step 001 ). Then, the data specifying unit 105 A acquires the counter value i from the counter 105 D (step 002 ), and then calculates the product (i·f in /f out ) of the ratio f in /f out acquired in step 001 and the counter value i (step 003 ). Then, the data specifying unit 105 A calculates the rounddown (i·f in /f out ) obtained by rounding down the value (i·f in /f out ) calculated in step 003 and the roundup (i·f in /f out ) obtained by rounding up the value (i·f in /f out ) (step 004 ).
Then, the determining unit 105 B determines whether the value n of the rounddown (i·f in /f out ) is the same as the value n of the roundup (i·f in /f out ) by comparing the rounddown (i·f in /f out ) to the roundup (i·f in /f out ). That is, the determining unit 105 B determines whether the product (i·f in /f out ) calculated in step 003 is a natural number (step 005 ). When the determining unit 105 B determines that the product (i·f in /f out ) is a natural number (YES in step 005 ), the determining unit 105 B searches for the column of the sampling sequence of the input sampling data information stored in the storage 104 and determines whether there is the n th input sampling data Xn corresponding to the value of n of the rounddown (i·f in /f out ) calculated in step 004 (step 021 ).
When the determining unit 105 B determines that there is the n th input sampling data Xn corresponding to the value of n of the rounddown (i·f in /f out ) calculated in step 004 (YES in step 021 ), the data specifying unit 105 A specifies this input sampling data Xn as the data sampled at the timings immediately before and after the sampling timing of the output sampling data Yi (step 022 ). Then, the output data value calculator 105 C calculates the input sampling data Xn specified by the data specifying unit 105 A as the output sampling data Yi and the sampling frequency conversion processing unit 105 outputs the output sampling data Yi (input sampling data Xn) calculated by the output data value calculator 105 C to the output signal transmitter 106 (step 023 ). Then, the process proceeds to step 009 .
Conversely, when the determining unit 105 B determines that there is no n th input sampling data Xn (NO in step 021 ), the sampling frequency conversion processing unit 105 initializes the counter value of the counter 105 D (step 041 ) and ends the conversion process.
Conversely, when the determining unit 105 B determines that the product (i·f in /f out ) is not a natural number (NO in step 005 ), the determining unit 105 B searches for the column of the sampling sequence of the input sampling data information stored in the storage 104 and determines whether there are both the n th input sampling data Xn corresponding to the value n of the rounddown (i·f in /f out ) calculated in step 004 and the (n+1) th input sampling data Xn+1 (step 006 ). When the determining unit 105 B determines that there is at least no input sampling data Xn+1 (NO in step 006 ), the process proceeds to step 041 . Then, the sampling frequency conversion processing unit 105 initializes the counter value of the counter 105 D, deletes the input sampling data information stored in the storage 104 (step 041 ), and ends the conversion process.
›DETAILED DESCRIPTION · 4 of 6
Conversely, when the determining unit 105 B determines there are both the input sampling data Xn and the input sampling data Xn+1 (YES in step 006 ), the data specifying unit 105 A specifies the input sampling data Xn and Xn+1 (step 007 ). Then, the output data value calculator 105 C calculates the output sampling data Yi by the calculation expression (Expression (1)) of the above-described output sampling data Yi using the input sampling data Xn and Xn+1 specified by the data specifying unit 105 A and the sampling frequency conversion processing unit 105 outputs the output sampling data Yi calculated by the output data value calculator 105 C to the output signal transmitter 106 (step 008 ). Then, the sampling frequency conversion processing unit 105 increments the counter value of the counter 105 D (step 009 ) and returns to step 001 to repeat the above-described processes.
Referring to FIGS. 2 , 4 , and 5 , the process of each unit will be described using 48 kHz and 44.1 kHz as the input sampling frequency f in and the output sampling frequency f out and giving examples of specific numerical values. As in FIG. 2 , FIG. 5 is a diagram illustrating a correspondence relation among the sampling sequence i at an output sampling frequency, the product (i·f in /f out ) of the sequence i and the ratio f in /f out , the rounddown (i·f in /f out ) the roundup (i·f in /f out ) and the input sampling data Xn and Xn+1 in the case in which the rounddown (i·f in /f out ) and the roundup (i·f in /f out ) are equal to n, when the conversion process according to this embodiment is performed on a sine wave sin (2π·8000·t) with 8 kHz.
The data specifying unit 105 A acquires the ratio f in /f out stored in the internal memory of the sampling frequency conversion processing unit 105 and the counter value i of the counter 105 D (steps 001 and 002 ). Then, the data specifying unit 105 A calculates a product of the ratio f in /f out and the counter value i (step 003 ).
For example, when the counter value i is “1” and i·f in /f out =1×(48÷44.1)=1.088435374, the data specifying unit 105 A calculates 1.088435374 as the value of i·f in /f out .
Next, the data specifying unit 105 A calculates the rounddown (i·f in /f out ) and the roundup (i·f in /f out ) (step 004 ). When i·f in /f out =1.088435374, the data specifying unit 105 A calculates each of “the rounddown (i·f in /f out )=1” and “the roundup (i·f in /f out )=2.”
Next, the determining unit 105 B determines whether the product (i·f in /f out ) is a natural number (step 005 ). When it is assumed that i·f in /f out =1.088435374, NO is determined in step 005 . Then, the determining unit 105 B determines whether there are both the first (rounddown (i·f in /f out )=1) input sampling data X 1 and the second (roundup (i·f in /f out )=2) input sampling data X 2 in the input sampling data information stored in the storage 104 (step 006 ). When it is supposed that the input sampling data information stored in the storage 104 is information illustrated in FIG. 2 , the determining unit 105 B determines that there are both the input sampling data X 1 and X 2 (YES in step 006 ) and the data specifying unit 105 A specifies “X 1 =0.5” and “X 2 =0.866025404” (step 007 ).
Next, the output data value calculator 105 C applies the data values of the input sampling data X 1 and X 2 specified by the data specifying unit 105 A, the value of the product (i·f in /f out ) and the values of the rounddown (i·f in /f out ) and the roundup (i·f in /f out ) to the above-described calculation expression (Expression (1)), calculates the value of the i th output sampling data Yi of the output digital signal, and outputs the calculated value to the output signal transmitter 106 (step 008 ). In the example, since i=1, the first output sampling data Y 1 calculated by the output data value calculator 105 C is “{0.5×(2−1.088435374)+0.866025404×(1.088435374−1)}=0.53237.” Next, the sampling frequency conversion processing unit 105 increments the counter value of the counter 105 D (step 009 ), returns to the process of step 001 , and sequentially calculates the output sampling data Yi by repeating the series of processes.
Thus, the sampling frequency conversion processing unit 105 sequentially calculates the output sampling data Yi for the L channel and the R channel at the output sampling frequency using the calculation expression (Expression (1)) of the above-described output sampling data Yi, and sequentially supplies the output sampling data Yi to the output signal transmitter 106 .
Further, the sampling frequency conversion processing unit 105 preferably generates the output sampling data Yi at a processing speed at which one piece of data is calculated at one period of the RL clock RL out or a speed slightly faster than the processing speed.
The output signal transmitter 106 stores the output sampling data Yi supplied from the sampling frequency conversion processing unit 105 in the FIFO memory and sequentially outputs the output sampling data Yi in synchronization with the RL clock RL out of the output signal supplied from the clock generating circuit 108 .
As described above, by configuring the asynchronous sampling frequency conversion device 1 according to this embodiment, it is possible to easily specify the input sampling data Xn and Xn+1 sampled immediately before and after the sampling timing of the output sampling data Yi based on the product (i·f in /f out ) of the counter value i of the counter 105 D and the ratio f in /f out stored in the internal memory of the sampling frequency conversion processing unit 105 . Further, as understood from the calculation expression (Expression (1)) of the output sampling data Yi according to this embodiment, the output sampling data Yi can be calculated by calculating the product (i·f in /f out ) of the counter value i of the counter 105 D and the ratio f in /f out , rounding down and rounding up the fraction of the calculated product to calculate natural numbers n and n+1, specifying the input sampling data Xn and Xn+1 based on the calculated natural numbers n and n+1, and using the data values. Accordingly, the calculation amount necessary to calculate the output sampling data Yi can be reduced compared to the conventional linear interpolation method of specifying “n” indicating the sampling sequence of the input sampling data Xn sampled immediately before the sampling timing of the output sampling data Yi and calculating each interpolation coefficient ki using the “n.” Thus, the conversion process in the asynchronous sampling frequency conversion device 1 can be performed at high speed.
›DETAILED DESCRIPTION · 5 of 6
The LPF 102 may operate at the input sampling frequency f in of the input digital signal S in and may operate at a relatively low frequency.
The input sampling data Xn is once stored in the storage 104 . Therefore, even when jitter is included in data to be input, the jitter can be absorbed.
Second Embodiment
In the first embodiment, the output data value calculator 105 C of the sampling frequency conversion processing unit 105 has calculated the output sampling data Yi by the above-described calculation expression (Expression (1)). FIG. 6 is a diagram illustrating output sampling data Yi of an L channel at the output sampling frequency of 44.1 kHz calculated by the output data value calculator 105 C according to the first embodiment. FIG. 7 is a diagram illustrating a waveform W out reproduced from the output sampling data Yi illustrated in FIG. 6 , that is, the output sampling data Yi of the L channel at the output sampling frequency of 44.1 kHz calculated by the output data value calculator 105 C and a waveform W in reproduced from the input sampling data Xn of the L channel at the input sampling frequency of 48 kHz according to the first embodiment.
When the waveform W out and the waveform W in are compared to each other with reference to FIG. 7 , the amplitude of the waveform W out is reduced more than that of the waveform W in . The reduction in the amplitude of the waveform W out is caused due to the frequency characteristics of the linear interpolation, as described in Background. Accordingly, in this embodiment, a waveform close to the waveform W in is configured to be reproduced from the output sampling data by using the output sampling data Yi calculated in the first embodiment as a reference value and correcting the reference value Yi using a change amount |Xn−Xn+1| between the input sampling data Xn and Xn+1. Thus, it is possible to remove a waveform distortion caused due to a decrease in the amplitude originated from the frequency characteristics of the linear interpolation.
As illustrated in FIG. 8 , an asynchronous sampling frequency conversion device 1 ′ according to this embodiment is basically the same configuration as the asynchronous sampling frequency conversion device of the first embodiment, since the asynchronous sampling frequency conversion device 1 ′ includes an input signal receiver 101 , an LPF 102 , a storage processing unit 103 , a storage 104 , a sampling frequency conversion processing unit 105 , and an output signal transmitter 106 . However, the sampling frequency conversion processing unit 105 further includes a change amount calculator 105 E and a correcting unit 105 F. Further, the internal memory of the sampling frequency conversion processing unit 105 stores a correction coefficient α included in a calculation expression for output sampling data Zi to be described below according to this embodiment. The correction coefficient α is a value experimentally calculated in advance. For example, the correction coefficient α is determined by calculating a decrease ratio of the amplitude caused due to the frequency characteristics of the linear interpolation in a frequency band of an input signal. Further, the correction coefficient α is preferably determined so that a waveform clip does not occur.
The change amount calculator 105 E calculates a change amount |Xn−Xn+1| between the input sampling data Xn and Xn+1 specified by the data specifying unit 105 A.
The correcting unit 105 F uses the output sampling data Yi calculated by the output data value calculator 105 C as a reference value and corrects the reference value Yi based on the change amount |Xn−Xn+1| calculated by the change amount calculator 105 E. More specifically, the correcting unit 105 F corrects the reference value Yi by the following calculation expression and calculates the corrected value as the output sampling data Zi.
Zi=Yi (1 +α·|Xn−Xn+ 1|) (2)
The sampling frequency conversion processing unit 105 outputs the value Zi corrected by the correcting unit 105 F as an i th output sampling data to the output signal transmitter 106 .
FIG. 9 is a diagram illustrating a list of the output sampling data Zi calculated by performing the conversion process on a sine wave sin (2π·8000·t) with 8 kHz at the input sampling frequency of 48 kHz and the output sampling frequency of 44.1 kHz, when the correction coefficient α is set to 0.2. FIG. 10 is a diagram illustrating a waveform WZ out reproduced from the output sampling data Zi illustrated in FIG. 9 , that is, the output sampling data Zi of the L channel at the output sampling frequency of 44.1 kHz calculated by the correcting unit 105 F and a waveform W in reproduced from the input sampling data Xn of the L channel at the input sampling frequency of 48 kHz.
When the waveform WZ out is compared to the waveform W in with reference to FIG. 10 , it can be understood that the waveform WZ out is closer to the waveform W in , compared to FIG. 7 illustrating the waveform W out and the waveform W in reproduced from the output sampling data Yi calculated in the first embodiment. This can be also understood from the output sampling data Yi and Zi indicated in FIGS. 6 and 9 , respectively. For example, when Y 3 in FIG. 6 is compared to Z 3 in FIG. 9 , the decrease in the amplitude originated from the frequency characteristics of the linear interpolation is improved so that the amplitude of Z 3 is closer to the amplitude “1” of the sine wave sin (2π·8000·t) with 8 kHz since Y 3 =0.964456 and Z 3 =0.990298.
According to the method of calculating the output sampling data Zi using the change amount |Xn−Xn+1| between the input sampling data Xn and Xn+1, as described in this embodiment, the decrease ratio of the amplitude originated from the frequency characteristics of the linear interpolation increases, as the frequency of an input signal increases. Therefore, since the waveform distortion is accordingly noticeable, a high effect can be obtained.
In the above-described first and second embodiments, the cases have been described in which the input sampling frequency f in is 48 kHz and the output sampling frequency f out is 44.1 kHz, but the invention is not limited thereto. The input sampling frequency f in and the output sampling frequency f out are arbitrarily set including the magnitude relation therebetween. For example, the input sampling frequency f in may be set to 48 kHz and the output sampling frequency f out may be set to 32 kHz. Further, the input sampling frequency f in may be set to 44.1 kHz or 32 kHz and the output sampling frequency f out may be set to 48 kHz.
›DETAILED DESCRIPTION · 6 of 6
In the conversion process performed by the sampling frequency conversion processing unit 105 , when the sampling frequency is lowered, the LPF 102 is necessary in order to set the input digital signal S in to be equal to or less than the nyquist frequency. However, when the sampling frequency is raised, the LPF 102 is not necessary.
The above-described first and second embodiments of the invention can be also applied to an asynchronous sampling frequency conversion device in which the input sampling frequency f in is varied. In this case, the sampling frequency conversion processing unit 105 may be configured to calculate the ratio f in /f out of the input sampling frequency f in to the output sampling frequency f out . Since the sampling frequency generally used in a digital device is limited, a ratio of a sampling frequency to the output sampling frequency f out may be retained in advance in the internal memory of the sampling frequency conversion processing unit 105 .
In the above-described first and second embodiments, the cases have been described in which the internal memory of the sampling frequency conversion processing unit 105 stores the ratio f in /f out of the input sampling frequency f in to the output sampling frequency f out in advance, but the invention is not limited thereto. The sampling frequency conversion processing unit 105 may calculate the ratio f in /f out .
The example has been described in which the storage processing unit 103 calculates the elapsed time Tn and stores the elapsed time Tn in the storage 104 . However, the sampling frequency conversion processing unit 105 may calculates the elapsed time Tn.
In the above-described first embodiment, the storage 104 may be configured to beforehand retain output sampling information formed by a pair of “i” indicating the sampling sequence of the output sampling data Yi, a product (i·f in /f out ) of the ratio f in /f out of the input sampling frequency f in to the output sampling frequency f out and “i” indicating the sampling sequence of the output sampling data Yi, and the value n of the rounddown (i·f in /f out ) as exemplified in FIG. 11 . Thus, since the data specifying unit 105 A can specify the value n of the rounddown (i·f in /f out ) from the counter value i of the counter 105 D indicating the sampling sequence of the output sampling data Yi, the calculation time of the output sampling data can be further shortened. Therefore, the conversion process performed by the sampling frequency conversion processing unit 105 can be performed at higher speed.
In the above-described second embodiment, the case has been described in which the calculation expression (Expression (2)) of the output sampling data Zi is Zi=Yi·(1+α·|Xn−Xn+1|), but the invention is not limited thereto. The output sampling data Zi may be calculated by the calculation expression of “Zi=Yi·{(1+β·F(|Xn−Xn+1|)}” by using F(x) and β as a function and a correction coefficient, respectively.
In the above-described embodiments, the above-described processes may be performed by storing and distributing a program (a computer program product) to be executed in a computer-readable recording medium such as a flexible disk, a CD-ROM (Compact Disc Read-Only Memory), DVD, or an MO (Magneto-Optical Disc) and installing the program.
Further, a program may be stored in a disc device or the like included in a predetermined server apparatus on a communication network such as the Internet and may be acquired, for example, by superimposing the program on carrier waves.
In the above-described embodiments, it is possible to reduce a calculation amount and also perform a conversion process at high speed. Furthermore, it is possible to realize excellent reproducibility of a signal waveform.
Although the invention has been described with respect to specific embodiments for a complete and clear disclosure, the appended claims are not to be thus limited but are to be construed as embodying all modifications and alternative constructions that may occur to one skilled in the art that fairly fall within the basic teaching herein set forth.
Claims as granted
6 claimsLog in to read the claims of this application.
Log in to unlockClassifications
6 codes- G11B20/10
- H03B28/00
- H03H17/06
- H03M7/00
Claim changes
SoonSee which claims were amended, added or cancelled during examination, with every added and removed word marked.
The published claims of this application are not paired with the granted ones in what we hold.
File wrapper
See the full prosecution history — every USPTO and applicant action on this file, in order.
Log in to unlockDocuments
Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.
Log in to unlockChain of title
See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.
Log in to unlock