Characterizing SRC S. Tassart Introduction Principles Fractional Delay Rate Convertor LTI Context Analysis
Black Box methodology for the characterization of Sample Rate Conversion systems
Examples Resampler 3/2
Conclusion
S. Tassart ST-Ericsson STS - Paris
[email protected]
Digital Audio Effects 2011, Paris, Sep. 2011
Summary Characterizing SRC S. Tassart
1
Introduction
2
Principles Fractional Delay Rate Convertor LTI Context Analysis
3
Examples Resampler 3/2
4
Conclusion
Introduction Principles Fractional Delay Rate Convertor LTI Context Analysis
Examples Resampler 3/2
Conclusion
Summary Characterizing SRC S. Tassart
1
Introduction
2
Principles Fractional Delay Rate Convertor LTI Context Analysis
3
Examples Resampler 3/2
4
Conclusion
Introduction Principles Fractional Delay Rate Convertor LTI Context Analysis
Examples Resampler 3/2
Conclusion
Sample Rate Convertion Usage Characterizing SRC S. Tassart Introduction Principles Fractional Delay Rate Convertor
Definition (Wikipedia) “The process of converting a signal from one sampling rate to another”
LTI Context Analysis
Examples Resampler 3/2
Conclusion
Mix signals of different origins, e.g.: ≤16kHz Speech (narrowband, wide-band) 44.1kHz Audio (CD) 48kHz Audio (DAT, DVD) ≥96kHz Audio (Blu-Ray and a few DVD-Audio) Resynchronize signals (e.g. compensate clock drift)
Sample Rate Convertion Multirate model for ×R/P Characterizing SRC S. Tassart Introduction Principles Fractional Delay
x
↑R
u
H
v
Rate Convertor LTI Context Analysis
Examples Resampler 3/2
Conclusion
Nomenclature H : kernel of the system ↑ R : R-fold expansion ↓ P : P-fold decimation
↓P
y
Sample Rate Convertion Designing a resampler ×R/P Characterizing SRC S. Tassart Introduction
|H(ejω )|
2rb
δp
Principles
2δp
Fractional Delay Rate Convertor LTI Context
−δp
Analysis
Examples Resampler 3/2
δs
Conclusion
ωp
ωs π max(R,P)
π
ω
Sample Rate Convertion Designing a resampler ×R/P Characterizing SRC S. Tassart Introduction
|H(ejω )|
2rb
δp
Principles
2δp
Fractional Delay Rate Convertor LTI Context
−δp
Resampler 3/2
Conclusion
passband
Analysis
Examples
δs
ωp
ωs π max(R,P)
π
ω
Sample Rate Convertion Designing a resampler ×R/P Characterizing SRC S. Tassart Introduction
|H(ejω )|
2rb
δp
Principles
2δp
Fractional Delay Rate Convertor LTI Context
−δp
Analysis
Examples Resampler 3/2
δs
Conclusion
ωp
ωs π max(R,P)
stopband π
ω
Sample Rate Convertion Designing a resampler ×R/P Characterizing SRC S. Tassart Introduction
|H(ejω )|
2rb
δp
Principles
2δp
Fractional Delay Rate Convertor LTI Context
−δp
Analysis
Examples Resampler 3/2
Conclusion
input bandwidth
δs
usable bandwidth ωp
ωs π max(R,P)
π
ω
Sample Rate Convertion Designing a resampler ×R/P Characterizing SRC S. Tassart Introduction
|H(ejω )|
2rb
δp
Principles
2δp
Fractional Delay Rate Convertor LTI Context
−δp
Analysis
Examples Resampler 3/2
output
δs
Conclusion
ωp
don’t care
bandwidth
ωs
π max(R,P)
π
ω
Sample Rate Convertion Design Characterizing SRC S. Tassart
What is important: Introduction
2δp passband characteristics
Principles Fractional Delay
ωp , 2rb end of passband (input signal bandwidth)
Rate Convertor LTI Context
2δp stopband (aliases rejection)
Analysis
Examples Resampler 3/2
Conclusion
Danger
Impact of arithmetic rounding errors (for both fixed or floating point) not taken into account.
Sample Rate Convertion MIMO LTI model for ×R/P with rounding errors Characterizing SRC
e(0)
x
S. Tassart
↓P
Introduction Principles
z −1
Fractional Delay
y ↑R z
e(1)
Rate Convertor LTI Context
↓P
Analysis
↑R
Examples
z −1
z
P
HR×P (z)
z −1
R
Resampler 3/2
Conclusion
e(R−1) ↓P
↑R
z
Sample Rate Convertion Rounding error Impact Characterizing SRC S. Tassart Introduction
|H(ejω )| δp
Principles Fractional Delay Rate Convertor LTI Context
−δp
Analysis
Examples
BAD
Resampler 3/2
Conclusion
S(ejω )
ωp
ωs π
ω
Sample Rate Convertion Rounding error Impact Characterizing SRC S. Tassart Introduction
|H(ejω )| δp
Principles Fractional Delay Rate Convertor LTI Context
−δp
Analysis
Examples
GOOD
Resampler 3/2
Conclusion
S(ejω )
ωp
ωs π
ω
Sample Rate Convertion Challenges Characterizing SRC S. Tassart Introduction
Characterization problem
Principles
How to estimate :
Fractional Delay Rate Convertor LTI Context Analysis
Examples
H(ejω ) the transfer function of the kernel of the system S(ejω ) the power spectrum of the rounding noise
Resampler 3/2
Conclusion
use a sine sweep, use the bispectrum of the SRC as a LPTV system, or ...
Sample Rate Convertion Challenges Characterizing SRC S. Tassart Introduction
Characterization problem
Principles
How to estimate :
Fractional Delay Rate Convertor LTI Context Analysis
Examples
H(ejω ) the transfer function of the kernel of the system S(ejω ) the power spectrum of the rounding noise
Resampler 3/2
Conclusion
use a sine sweep, use the bispectrum of the SRC as a LPTV system, or ...
Sample Rate Convertion Challenges Characterizing SRC S. Tassart Introduction
Characterization problem
Principles
How to estimate :
Fractional Delay Rate Convertor LTI Context Analysis
Examples
H(ejω ) the transfer function of the kernel of the system S(ejω ) the power spectrum of the rounding noise
Resampler 3/2
Conclusion
use a sine sweep, use the bispectrum of the SRC as a LPTV system, or ...
Summary Characterizing SRC S. Tassart
1
Introduction
2
Principles Fractional Delay Rate Convertor LTI Context Analysis
3
Examples Resampler 3/2
4
Conclusion
Introduction Principles Fractional Delay Rate Convertor LTI Context Analysis
Examples Resampler 3/2
Conclusion
Fractional Delay How to characterize the interpolation kernel Characterizing SRC
1
S. Tassart
2
process impulse responses while varying the delay interleave the responses
Introduction Principles 1
Fractional Delay
Time = -0.010
Rate Convertor LTI Context Analysis
0.8
Examples Resampler 3/2
0.6
amplitude (linear)
Conclusion
0.4
0.2
0
-0.2 -8
-6
-4
-2
0
time (sample)
2
4
6
Fractional Delay How to characterize the interpolation kernel Characterizing SRC
1
S. Tassart
2
process impulse responses while varying the delay interleave the responses
Introduction Principles 1
Fractional Delay
Time = -0.100
Rate Convertor LTI Context Analysis
0.8
Examples Resampler 3/2
0.6
amplitude (linear)
Conclusion
0.4
0.2
0
-0.2 -8
-6
-4
-2
0
time (sample)
2
4
6
Fractional Delay How to characterize the interpolation kernel Characterizing SRC
1
S. Tassart
2
process impulse responses while varying the delay interleave the responses
Introduction Principles 1
Fractional Delay
Time = -0.190
Rate Convertor LTI Context Analysis
0.8
Examples Resampler 3/2
0.6
amplitude (linear)
Conclusion
0.4
0.2
0
-0.2 -8
-6
-4
-2
0
time (sample)
2
4
6
Fractional Delay How to characterize the interpolation kernel Characterizing SRC
1
S. Tassart
2
process impulse responses while varying the delay interleave the responses
Introduction Principles 1
Fractional Delay
Time = -0.280
Rate Convertor LTI Context Analysis
0.8
Examples Resampler 3/2
0.6
amplitude (linear)
Conclusion
0.4
0.2
0
-0.2 -8
-6
-4
-2
0
time (sample)
2
4
6
Fractional Delay How to characterize the interpolation kernel Characterizing SRC
1
S. Tassart
2
process impulse responses while varying the delay interleave the responses
Introduction Principles 1
Fractional Delay
Time = -0.370
Rate Convertor LTI Context Analysis
0.8
Examples Resampler 3/2
0.6
amplitude (linear)
Conclusion
0.4
0.2
0
-0.2 -8
-6
-4
-2
0
time (sample)
2
4
6
Fractional Delay How to characterize the interpolation kernel Characterizing SRC
1
S. Tassart
2
process impulse responses while varying the delay interleave the responses
Introduction Principles 1
Fractional Delay
Time = -0.460
Rate Convertor LTI Context Analysis
0.8
Examples Resampler 3/2
0.6
amplitude (linear)
Conclusion
0.4
0.2
0
-0.2 -8
-6
-4
-2
0
time (sample)
2
4
6
Fractional Delay How to characterize the interpolation kernel Characterizing SRC
1
S. Tassart
2
process impulse responses while varying the delay interleave the responses
Introduction Principles 1
Fractional Delay
Time = -0.550
Rate Convertor LTI Context Analysis
0.8
Examples Resampler 3/2
0.6
amplitude (linear)
Conclusion
0.4
0.2
0
-0.2 -8
-6
-4
-2
0
time (sample)
2
4
6
Fractional Delay How to characterize the interpolation kernel Characterizing SRC
1
S. Tassart
2
process impulse responses while varying the delay interleave the responses
Introduction Principles 1
Fractional Delay
Time = -0.640
Rate Convertor LTI Context Analysis
0.8
Examples Resampler 3/2
0.6
amplitude (linear)
Conclusion
0.4
0.2
0
-0.2 -8
-6
-4
-2
0
time (sample)
2
4
6
Fractional Delay How to characterize the interpolation kernel Characterizing SRC
1
S. Tassart
2
process impulse responses while varying the delay interleave the responses
Introduction Principles 1
Fractional Delay
Time = -0.730
Rate Convertor LTI Context Analysis
0.8
Examples Resampler 3/2
0.6
amplitude (linear)
Conclusion
0.4
0.2
0
-0.2 -8
-6
-4
-2
0
time (sample)
2
4
6
Fractional Delay How to characterize the interpolation kernel Characterizing SRC
1
S. Tassart
2
process impulse responses while varying the delay interleave the responses
Introduction Principles 1
Fractional Delay
Time = -0.820
Rate Convertor LTI Context Analysis
0.8
Examples Resampler 3/2
0.6
amplitude (linear)
Conclusion
0.4
0.2
0
-0.2 -8
-6
-4
-2
0
time (sample)
2
4
6
Fractional Delay How to characterize the interpolation kernel Characterizing SRC
1
S. Tassart
2
process impulse responses while varying the delay interleave the responses
Introduction Principles 1
Fractional Delay
Time = -0.910
Rate Convertor LTI Context Analysis
0.8
Examples Resampler 3/2
0.6
amplitude (linear)
Conclusion
0.4
0.2
0
-0.2 -8
-6
-4
-2
0
time (sample)
2
4
6
Fractional Delay How to characterize the interpolation kernel Characterizing SRC
1
S. Tassart
2
process impulse responses while varying the delay interleave the responses
Introduction Principles 1
Fractional Delay Rate Convertor LTI Context Analysis
0.8
Examples Resampler 3/2
0.6
amplitude (linear)
Conclusion
0.4
0.2
0
-0.2 -8
-6
-4
-2
0
time (sample)
2
4
6
Rate Convertor Delayed Impulse Responses Characterizing SRC S. Tassart
Same idea in order to characterize Rate Convertor R/P:
Introduction
1
a band-limited impulse (x0 (n))n∈Z as input vector,
Principles
2
vary the delay τ of the input vector, (xτ (n))n∈Z ,
3
process each input vector, producing a resampled band-limited impulse, y Rτ (n) with a delay of
Fractional Delay Rate Convertor LTI Context Analysis
Examples Resampler 3/2
Conclusion
P
n∈Z
Rτ /P. Problem of interest Examine the relationship between the interleaved signals x(t) and y (t). But some subtlety. . .
Rate Convertor Delayed Impulse Responses Characterizing SRC S. Tassart
Same idea in order to characterize Rate Convertor R/P:
Introduction
1
a band-limited impulse (x0 (n))n∈Z as input vector,
Principles
2
vary the delay τ of the input vector, (xτ (n))n∈Z ,
3
process each input vector, producing a resampled band-limited impulse, y Rτ (n) with a delay of
Fractional Delay Rate Convertor LTI Context Analysis
Examples Resampler 3/2
Conclusion
P
n∈Z
Rτ /P. Problem of interest Examine the relationship between the interleaved signals x(t) and y (t). But some subtlety. . .
Rate Convertor Delayed Impulse Responses Characterizing SRC S. Tassart
Same idea in order to characterize Rate Convertor R/P:
Introduction
1
a band-limited impulse (x0 (n))n∈Z as input vector,
Principles
2
vary the delay τ of the input vector, (xτ (n))n∈Z ,
3
process each input vector, producing a resampled band-limited impulse, y Rτ (n) with a delay of
Fractional Delay Rate Convertor LTI Context Analysis
Examples Resampler 3/2
Conclusion
P
n∈Z
Rτ /P. Problem of interest Examine the relationship between the interleaved signals x(t) and y (t). But some subtlety. . .
Rate Convertor Delayed Impulse Responses Characterizing SRC S. Tassart
Same idea in order to characterize Rate Convertor R/P:
Introduction
1
a band-limited impulse (x0 (n))n∈Z as input vector,
Principles
2
vary the delay τ of the input vector, (xτ (n))n∈Z ,
3
process each input vector, producing a resampled band-limited impulse, y Rτ (n) with a delay of
Fractional Delay Rate Convertor LTI Context Analysis
Examples Resampler 3/2
Conclusion
P
n∈Z
Rτ /P. Problem of interest Examine the relationship between the interleaved signals x(t) and y (t). But some subtlety. . .
Rate Convertor Delayed Impulse Responses Characterizing SRC S. Tassart
Same idea in order to characterize Rate Convertor R/P:
Introduction
1
a band-limited impulse (x0 (n))n∈Z as input vector,
Principles
2
vary the delay τ of the input vector, (xτ (n))n∈Z ,
3
process each input vector, producing a resampled band-limited impulse, y Rτ (n) with a delay of
Fractional Delay Rate Convertor LTI Context Analysis
Examples Resampler 3/2
Conclusion
P
n∈Z
Rτ /P. Problem of interest Examine the relationship between the interleaved signals x(t) and y (t). But some subtlety. . .
Rate Convertor Delayed band-limited impulse Characterizing SRC
1
S. Tassart
2
Create a lowpass filter x(t) Extract the polyphase components xτ (n) = x(τ + n)
Introduction Principles
1
Fractional Delay Rate Convertor LTI Context
0.8
Analysis
Examples
0.6 gain (linear)
Resampler 3/2
Conclusion
0.4
0.2
0
-0.2 -400
-200
0 time (sample)
200
400
Rate Convertor Delayed band-limited impulse Characterizing SRC
1
S. Tassart
2
Create a lowpass filter x(t) Extract the polyphase components xτ (n) = x(τ + n)
Introduction 1
Principles
Time = 0.00
Fractional Delay
0.8
Rate Convertor
(x0 (n))n∈Z
LTI Context Analysis
Resampler 3/2
Conclusion
gain (linear)
Examples
0.6
0.4
0.2
0
-0.2 -30
-20
-10
0 time (sample)
10
20
30
Rate Convertor Delayed band-limited impulse Characterizing SRC
1
S. Tassart
2
Create a lowpass filter x(t) Extract the polyphase components xτ (n) = x(τ + n)
Introduction 1
Principles
Time = 0.31
Fractional Delay
0.8
Rate Convertor
(x0.31 (n))n∈Z
LTI Context Analysis
Resampler 3/2
Conclusion
gain (linear)
Examples
0.6
0.4
0.2
0
-0.2 -30
-20
-10
0 time (sample)
10
20
30
Rate Convertor Delayed band-limited impulse Characterizing SRC
1
S. Tassart
2
Create a lowpass filter x(t) Extract the polyphase components xτ (n) = x(τ + n)
Introduction 1
Principles
Time = 0.63
Fractional Delay
0.8
Rate Convertor
(x0.63 (n))n∈Z
LTI Context Analysis
Resampler 3/2
Conclusion
gain (linear)
Examples
0.6
0.4
0.2
0
-0.2 -30
-20
-10
0 time (sample)
10
20
30
Rate Convertor Delayed band-limited impulse Characterizing SRC
1
S. Tassart
2
Create a lowpass filter x(t) Extract the polyphase components xτ (n) = x(τ + n)
Introduction 1
Principles
Time = 0.94
Fractional Delay
0.8
Rate Convertor
(x0.94 (n))n∈Z
LTI Context Analysis
Resampler 3/2
Conclusion
gain (linear)
Examples
0.6
0.4
0.2
0
-0.2 -30
-20
-10
0 time (sample)
10
20
30
Rate Convertor Process delayed band-limited impulse Characterizing SRC
3
S. Tassart 4 Introduction
Resample (xτ (n))n∈Z and obtain y Rτ (n) P n∈Z Rτ Interleave y Rτ (n) for P ∈ [0, 1), obtain y (t) n∈Z
P
Principles 1
Fractional Delay Rate Convertor
Time = 0.00
LTI Context
0.8
Analysis
(y0 (n))n∈Z
Examples Resampler 3/2
0.6 gain (linear)
Conclusion
0.4
0.2
0
-0.2 -40
-30
-20
-10 0 10 time (sample)
20
30
40
Rate Convertor Process delayed band-limited impulse Characterizing SRC
3
S. Tassart 4 Introduction
Resample (xτ (n))n∈Z and obtain y Rτ (n) P n∈Z Rτ Interleave y Rτ (n) for P ∈ [0, 1), obtain y (t) n∈Z
P
Principles 1
Fractional Delay Rate Convertor
Time = 0.33
LTI Context
0.8
Analysis
(y0.33 (n))n∈Z
Examples Resampler 3/2
0.6 gain (linear)
Conclusion
0.4
0.2
0
-0.2 -40
-30
-20
-10 0 10 time (sample)
20
30
40
Rate Convertor Process delayed band-limited impulse Characterizing SRC
3
S. Tassart 4 Introduction
Resample (xτ (n))n∈Z and obtain y Rτ (n) P n∈Z Rτ Interleave y Rτ (n) for P ∈ [0, 1), obtain y (t) n∈Z
P
Principles 1
Fractional Delay Rate Convertor
Time = 0.67
LTI Context
0.8
Analysis
(y0.67 (n))n∈Z
Examples Resampler 3/2
0.6 gain (linear)
Conclusion
0.4
0.2
0
-0.2 -40
-30
-20
-10 0 10 time (sample)
20
30
40
Rate Convertor Process delayed band-limited impulse Characterizing SRC
3
S. Tassart 4 Introduction
Resample (xτ (n))n∈Z and obtain y Rτ (n) P n∈Z Rτ Interleave y Rτ (n) for P ∈ [0, 1), obtain y (t) n∈Z
P
Principles 1
Fractional Delay Rate Convertor
Time = 0.100
LTI Context
0.8
Analysis
(y1.00 (n))n∈Z
Examples Resampler 3/2
0.6 gain (linear)
Conclusion
0.4
0.2
0
-0.2 -40
-30
-20
-10 0 10 time (sample)
20
30
40
Rate Convertor Process delayed band-limited impulse Characterizing SRC
3
S. Tassart 4 Introduction
Resample (xτ (n))n∈Z and obtain y Rτ (n) P n∈Z Rτ Interleave y Rτ (n) for P ∈ [0, 1), obtain y (t) P
n∈Z
Principles 1
Fractional Delay Rate Convertor LTI Context
0.8
Analysis
Examples Resampler 3/2
0.6 gain (linear)
Conclusion
0.4
0.2
0
-0.2 -400
-200
0 time (sample)
200
400
Rate Convertor Compare interleaved signals Characterizing SRC S. Tassart
Compare the spectrum from x(t) and y (t)
5 Introduction Principles
Y(ν) X(ν)
0
Fractional Delay Rate Convertor LTI Context
-20
Analysis
Resampler 3/2
Conclusion
gain (dB)
Examples -40
It compares, -60
but . . .
-80
-100 0
0.1
0.2
0.3
reduced frequency (rad/sample)
0.4
0.5
Rate Convertor Compare interleaved signals Characterizing SRC S. Tassart
Compare the spectrum from x(t) and y (t)
5 Introduction Principles
Y(ν) X(ν)
0
Fractional Delay Rate Convertor LTI Context
-20
Analysis
Resampler 3/2
Conclusion
gain (dB)
Examples -40
It compares, -60
but . . .
-80
-100 0
0.1
0.2
0.3
reduced frequency (rad/sample)
0.4
0.5
Rate Convertor Compare interleaved signals Characterizing SRC S. Tassart
Compare the spectrum from x(t) and y (t)
5 Introduction Principles
Y(ν) X(ν)
0
Fractional Delay Rate Convertor LTI Context
-20
Analysis
Resampler 3/2
Conclusion
gain (dB)
Examples -40
It compares, -60
but . . .
-80
-100 0
0.1
0.2
0.3
reduced frequency (rad/sample)
0.4
0.5
Rate Convertor Issues Characterizing SRC S. Tassart Introduction Principles
Difficult to evaluate anything in the stopband from x
Fractional Delay Rate Convertor LTI Context
Missing configurations:
Analysis
Examples Resampler 3/2
Conclusion
τ ∈ [0, P)
⇒
Rτ ∈ [0, R) P
How many different configurations to test in τ ∈ [0, P) ? How x and y are really related ?
LTI Context Main Theorem Characterizing SRC S. Tassart
x
x0
Introduction
↓R
R
y
y0 ↑↓ R/P
P
↑P
Principles
z −1
z
Fractional Delay Rate Convertor
xk
LTI Context
↓R
Analysis
Examples
↑↓ R/P
P
↑P z −1 PR
z PR
Resampler 3/2
R
yk
Conclusion
x PR−1
z ↓R
z −1
y PR−1
R
P
↑↓ R/P
↑P
Y (z) = H(z)X (z)
LTI Context Input De-Interleaving Characterizing SRC
x
S. Tassart
x0 ↓R
R
Introduction
z
Principles Fractional Delay
xk
Rate Convertor LTI Context
↓R
Analysis
Examples
PR channels R different polyphase components
z PR
Resampler 3/2
Conclusion
R
each polyphase components needed in P delayed version x PR−1
z
R
↓R
LTI Context Output Interleaving Characterizing SRC S. Tassart
y
y0 P
↑P
Introduction
z −1
Principles Fractional Delay Rate Convertor LTI Context
yk P
Analysis
↑P
Examples
PR Channels
z −1 PR
Resampler 3/2
Conclusion
components shifted and added components interleaved
z −1
y PR−1 P
↑P
Rate Convertor Issues Solved Characterizing SRC S. Tassart Introduction Principles
Difficult to evaluate anything in the stopband from x ⇒ no constraints on x, no difficulties
Fractional Delay Rate Convertor LTI Context Analysis
Examples Resampler 3/2
Conclusion
How many different configurations to test in τ ∈ [0, P) ? ⇒ PR configurations to test: τk = k /R
How x and y are related ? ⇒ Y (z) = H(z)X (z)
Rate Convertor Issues Solved Characterizing SRC S. Tassart Introduction Principles
Difficult to evaluate anything in the stopband from x ⇒ no constraints on x, no difficulties
Fractional Delay Rate Convertor LTI Context Analysis
Examples Resampler 3/2
Conclusion
How many different configurations to test in τ ∈ [0, P) ? ⇒ PR configurations to test: τk = k /R
How x and y are related ? ⇒ Y (z) = H(z)X (z)
Rate Convertor Issues Solved Characterizing SRC S. Tassart Introduction Principles
Difficult to evaluate anything in the stopband from x ⇒ no constraints on x, no difficulties
Fractional Delay Rate Convertor LTI Context Analysis
Examples Resampler 3/2
Conclusion
How many different configurations to test in τ ∈ [0, P) ? ⇒ PR configurations to test: τk = k /R
How x and y are related ? ⇒ Y (z) = H(z)X (z)
Analysis Impulse Response Characterizing SRC S. Tassart
Theorem
Introduction
Y (z) = H(z)X (z)
Principles Fractional Delay Rate Convertor LTI Context Analysis
Examples Resampler 3/2
Conclusion
set x to an impulse: X (z) = 1 1 polyphase component set to an impulse: x 0 (z) = 1 R
other polyphase components set to 0 R tests Not suitable for rounding errors.
Analysis Impulse Response Characterizing SRC S. Tassart
Theorem
Introduction
Y (z) = H(z)X (z)
Principles Fractional Delay Rate Convertor LTI Context Analysis
Examples Resampler 3/2
Conclusion
set x to an impulse: X (z) = 1 1 polyphase component set to an impulse: x 0 (z) = 1 R
other polyphase components set to 0 R tests Not suitable for rounding errors.
Analysis Impulse Response Characterizing SRC S. Tassart
Theorem
Introduction
Y (z) = H(z)X (z)
Principles Fractional Delay Rate Convertor LTI Context Analysis
Examples Resampler 3/2
Conclusion
set x to an impulse: X (z) = 1 1 polyphase component set to an impulse: x 0 (z) = 1 R
other polyphase components set to 0 R tests Not suitable for rounding errors.
Analysis Impulse Response Characterizing SRC S. Tassart
Theorem
Introduction
Y (z) = H(z)X (z)
Principles Fractional Delay Rate Convertor LTI Context Analysis
Examples Resampler 3/2
Conclusion
set x to an impulse: X (z) = 1 1 polyphase component set to an impulse: x 0 (z) = 1 R
other polyphase components set to 0 R tests Not suitable for rounding errors.
Analysis Impulse Response Characterizing SRC S. Tassart
Theorem
Introduction
Y (z) = H(z)X (z)
Principles Fractional Delay Rate Convertor LTI Context Analysis
Examples Resampler 3/2
Conclusion
set x to an impulse: X (z) = 1 1 polyphase component set to an impulse: x 0 (z) = 1 R
other polyphase components set to 0 R tests Not suitable for rounding errors.
Analysis Impulse Response Characterizing SRC S. Tassart
Theorem
Introduction
Y (z) = H(z)X (z)
Principles Fractional Delay Rate Convertor LTI Context Analysis
Examples Resampler 3/2
Conclusion
set x to an impulse: X (z) = 1 1 polyphase component set to an impulse: x 0 (z) = 1 R
other polyphase components set to 0 R tests Not suitable for rounding errors.
Analysis Periodic Signal Characterizing SRC S. Tassart Introduction Principles Fractional Delay Rate Convertor
set the period to M ⇒ rounding noise of same period iff M = KPR
LTI Context Analysis
Examples Resampler 3/2
wait for steady state in y ⇒ extract M samples from x and y
Conclusion
(i) 2jπν ) b 2jπν ) = Y (e H(e X (i) (e2jπν )
Analysis Periodic Signal Characterizing SRC S. Tassart Introduction Principles Fractional Delay Rate Convertor
set the period to M ⇒ rounding noise of same period iff M = KPR
LTI Context Analysis
Examples Resampler 3/2
wait for steady state in y ⇒ extract M samples from x and y
Conclusion
(i) 2jπν ) b 2jπν ) = Y (e H(e X (i) (e2jπν )
Analysis Periodic Signal Characterizing SRC S. Tassart Introduction Principles Fractional Delay Rate Convertor
set the period to M ⇒ rounding noise of same period iff M = KPR
LTI Context Analysis
Examples Resampler 3/2
wait for steady state in y ⇒ extract M samples from x and y
Conclusion
(i) 2jπν ) b 2jπν ) = Y (e H(e X (i) (e2jπν )
Analysis Periodic Signal Characterizing SRC S. Tassart Introduction Principles Fractional Delay Rate Convertor
set the period to M ⇒ rounding noise of same period iff M = KPR
LTI Context Analysis
Examples Resampler 3/2
wait for steady state in y ⇒ extract M samples from x and y
Conclusion
(i) 2jπν ) b 2jπν ) = Y (e H(e X (i) (e2jπν )
Analysis Weakly nonlinear Analysis Characterizing SRC S. Tassart Introduction
To separate: the linear contribution H: its transfer function H(e2jπν ) the rounding noise: its power spectrum S(e2jπν )
Principles Fractional Delay Rate Convertor LTI Context Analysis
Cf. H.W. Schüßler, et all. “A new method for measuring the performance of weakly nonlinear systems,” in ICASSP-89
Examples Resampler 3/2
Conclusion
Repeat and average the experiment for different x (i) : L
b 2jπν ) = H(e
1 X Y (i) (e2jπν ) L X (i) (e2jπν ) i=1
b 2jπν ) = S(e
L 1 X (i) 2jπν b 2jπν )X (i) (e2jπν ) Y (e ) − H(e LM i=1
Analysis Weakly nonlinear Analysis Characterizing SRC S. Tassart Introduction
To separate: the linear contribution H: its transfer function H(e2jπν ) the rounding noise: its power spectrum S(e2jπν )
Principles Fractional Delay Rate Convertor LTI Context Analysis
Cf. H.W. Schüßler, et all. “A new method for measuring the performance of weakly nonlinear systems,” in ICASSP-89
Examples Resampler 3/2
Conclusion
Repeat and average the experiment for different x (i) : L
b 2jπν ) = H(e
1 X Y (i) (e2jπν ) L X (i) (e2jπν ) i=1
b 2jπν ) = S(e
L 1 X (i) 2jπν b 2jπν )X (i) (e2jπν ) Y (e ) − H(e LM i=1
Analysis Weakly nonlinear Analysis Characterizing SRC S. Tassart Introduction
To separate: the linear contribution H: its transfer function H(e2jπν ) the rounding noise: its power spectrum S(e2jπν )
Principles Fractional Delay Rate Convertor LTI Context Analysis
Cf. H.W. Schüßler, et all. “A new method for measuring the performance of weakly nonlinear systems,” in ICASSP-89
Examples Resampler 3/2
Conclusion
Repeat and average the experiment for different x (i) : L
b 2jπν ) = H(e
1 X Y (i) (e2jπν ) L X (i) (e2jπν ) i=1
b 2jπν ) = S(e
L 1 X (i) 2jπν b 2jπν )X (i) (e2jπν ) Y (e ) − H(e LM i=1
Summary Characterizing SRC S. Tassart
1
Introduction
2
Principles Fractional Delay Rate Convertor LTI Context Analysis
3
Examples Resampler 3/2
4
Conclusion
Introduction Principles Fractional Delay Rate Convertor LTI Context Analysis
Examples Resampler 3/2
Conclusion
Examples Resampler 3/2 #1 Characterizing SRC S. Tassart
Magnitude of the transfer function and residual noise for the 3/2 resampler #1 FLT FLT noise floor
0
Introduction Principles
-20
Fractional Delay Rate Convertor
-40
LTI Context Analysis
Resampler 3/2
Conclusion
-60 gain (dB)
Examples
-80 -100 -120 -140 -160 -180 0
1/6 1/4 1/3 normalized frequency (cycle/sample)
1/2
Examples Resampler 3/2 #1 Characterizing SRC S. Tassart
Magnitude of the transfer function and residual noise for the 3/2 resampler #1 FLT FLT noise floor FIX24 FIX24 noise floor
0
Introduction Principles
-20
Fractional Delay Rate Convertor
-40
LTI Context Analysis
Resampler 3/2
Conclusion
-60 gain (dB)
Examples
-80 -100 -120 -140 -160 -180 0
1/6 1/4 1/3 normalized frequency (cycle/sample)
1/2
Examples Resampler 3/2 #1 Characterizing SRC S. Tassart
Magnitude of the transfer function and residual noise for the 3/2 resampler #1 FLT FLT noise floor FIX24 FIX24 noise floor FIX16 FIX16 noise floor
0
Introduction Principles
-20
Fractional Delay Rate Convertor
-40
LTI Context Analysis
Resampler 3/2
Conclusion
-60 gain (dB)
Examples
-80 -100 -120 -140 -160 -180 0
1/6 1/4 1/3 normalized frequency (cycle/sample)
1/2
Examples Resampler 3/2 #1 Zoom Characterizing SRC S. Tassart
Magnitude of the transfer function (zoom) for the 3/2 resampler #2 0.02
FLT
Introduction
0.015
Principles Fractional Delay Rate Convertor
0.01
LTI Context Analysis
Resampler 3/2
Conclusion
gain (dB)
0.005 Examples
0 -0.005 -0.01 -0.015 -0.02 0
50% (1/6) 80% normalized frequency (cycle/sample)
90%
1/6
Examples Resampler 3/2 #1 Zoom Characterizing SRC S. Tassart
Magnitude of the transfer function (zoom) for the 3/2 resampler #2 0.02
FLT FIX24
Introduction
0.015
Principles Fractional Delay Rate Convertor
0.01
LTI Context Analysis
Resampler 3/2
Conclusion
gain (dB)
0.005 Examples
0 -0.005 -0.01 -0.015 -0.02 0
50% (1/6) 80% normalized frequency (cycle/sample)
90%
1/6
Examples Resampler 3/2 #1 Zoom Characterizing SRC S. Tassart
Magnitude of the transfer function (zoom) for the 3/2 resampler #2 0.02
FLT FIX24 FIX16
Introduction
0.015
Principles Fractional Delay Rate Convertor
0.01
LTI Context Analysis
Resampler 3/2
Conclusion
gain (dB)
0.005 Examples
0 -0.005 -0.01 -0.015 -0.02 0
50% (1/6) 80% normalized frequency (cycle/sample)
90%
1/6
Examples Resampler 3/2 #2 Characterizing SRC S. Tassart
Magnitude of the transfer function and residual noise for the 3/2 resampler #2 FLT FLT noise floor
0
Introduction Principles
-20
Fractional Delay Rate Convertor
-40
LTI Context Analysis
Resampler 3/2
Conclusion
-60 gain (dB)
Examples
-80 -100 -120 -140 -160 -180 0
1/6 1/4 1/3 normalized frequency (cycle/sample)
1/2
Examples Resampler 3/2 #2 Characterizing SRC S. Tassart
Magnitude of the transfer function and residual noise for the 3/2 resampler #2 FLT FLT noise floor FIX24 FIX24 noise floor
0
Introduction Principles
-20
Fractional Delay Rate Convertor
-40
LTI Context Analysis
Resampler 3/2
Conclusion
-60 gain (dB)
Examples
-80 -100 -120 -140 -160 -180 0
1/6 1/4 1/3 normalized frequency (cycle/sample)
1/2
Examples Resampler 3/2 #2 Characterizing SRC S. Tassart
Magnitude of the transfer function and residual noise for the 3/2 resampler #2 FLT FLT noise floor FIX24 FIX24 noise floor FIX16 FIX16 noise floor
0
Introduction Principles
-20
Fractional Delay Rate Convertor
-40
LTI Context Analysis
Resampler 3/2
Conclusion
-60 gain (dB)
Examples
-80 -100 -120 -140 -160 -180 0
1/6 1/4 1/3 normalized frequency (cycle/sample)
1/2
Examples Resampler 3/2 #2 Zoom Characterizing SRC S. Tassart
Magnitude of the transfer function (zoom) for the 3/2 resampler #2 0.02
FLT
Introduction
0.015
Principles Fractional Delay Rate Convertor
0.01
LTI Context Analysis
Resampler 3/2
Conclusion
gain (dB)
0.005 Examples
0 -0.005 -0.01 -0.015 -0.02 0
50% (1/6) 80% normalized frequency (cycle/sample)
90%
1/6
Examples Resampler 3/2 #2 Zoom Characterizing SRC S. Tassart
Magnitude of the transfer function (zoom) for the 3/2 resampler #2 0.02
FLT FIX24
Introduction
0.015
Principles Fractional Delay Rate Convertor
0.01
LTI Context Analysis
Resampler 3/2
Conclusion
gain (dB)
0.005 Examples
0 -0.005 -0.01 -0.015 -0.02 0
50% (1/6) 80% normalized frequency (cycle/sample)
90%
1/6
Examples Resampler 3/2 #2 Zoom Characterizing SRC S. Tassart
Magnitude of the transfer function (zoom) for the 3/2 resampler #2 0.02
FLT FIX24 FIX16
Introduction
0.015
Principles Fractional Delay Rate Convertor
0.01
LTI Context Analysis
Resampler 3/2
Conclusion
gain (dB)
0.005 Examples
0 -0.005 -0.01 -0.015 -0.02 0
50% (1/6) 80% normalized frequency (cycle/sample)
90%
1/6
Summary Characterizing SRC S. Tassart
1
Introduction
2
Principles Fractional Delay Rate Convertor LTI Context Analysis
3
Examples Resampler 3/2
4
Conclusion
Introduction Principles Fractional Delay Rate Convertor LTI Context Analysis
Examples Resampler 3/2
Conclusion
Conclusion Summary Characterizing SRC S. Tassart Introduction Principles Fractional Delay
A LTI block diagram based on multiple instances of a SRC: Substitute LPTV characterization methods: bispectrum . . .
by LTI methods:
Rate Convertor LTI Context Analysis
Examples Resampler 3/2
Conclusion
impulse response, sine distortion . . .
Kernel from the SRC available in black box conditions Power density from the rounding noise also available
LTI : Linear Time Invariant LPTV : Linear Periodically Time Varying
Conclusion Future Directions Characterizing SRC S. Tassart Introduction Principles
Understand the curious shape from the power density of the rounding noise
Fractional Delay Rate Convertor LTI Context Analysis
Examples Resampler 3/2
Extension to any LPTV system i.e. when P and R are not coprime (e.g. filterbank)
Conclusion
Reduce the amount of processing tests: compare with bispectrum methods at equivalent variance
Conclusion Future Directions Characterizing SRC S. Tassart Introduction Principles
Understand the curious shape from the power density of the rounding noise
Fractional Delay Rate Convertor LTI Context Analysis
Examples Resampler 3/2
Extension to any LPTV system i.e. when P and R are not coprime (e.g. filterbank)
Conclusion
Reduce the amount of processing tests: compare with bispectrum methods at equivalent variance
Conclusion Future Directions Characterizing SRC S. Tassart Introduction Principles
Understand the curious shape from the power density of the rounding noise
Fractional Delay Rate Convertor LTI Context Analysis
Examples Resampler 3/2
Extension to any LPTV system i.e. when P and R are not coprime (e.g. filterbank)
Conclusion
Reduce the amount of processing tests: compare with bispectrum methods at equivalent variance
Conclusion Questions and Answers Characterizing SRC S. Tassart Introduction Principles Fractional Delay Rate Convertor LTI Context Analysis
Examples Resampler 3/2
Conclusion
Thank you for listening. Question & Answers
Summary Characterizing SRC S. Tassart System Model Error Model
Example
5
System Model Error Model
6
Examples SoX 3/4 SoX 44100/48000
SoX 3/4 SoX 44100/48000
Analysis Error Model Characterizing SRC
x
S. Tassart
x0 ↓R
R
y0 ↑↓ R/P
P
e0
y
P
↑P
System Model z
Error Model
yk
xk
Example ↓R
SoX 3/4 SoX 44100/48000
R
↑↓ R/P
P
z −1
e1
P
↑P z −1 PR
PR
z
y PR−1 e PR−1
x PR−1
z
R
↓R
P
↑↓ R/P
Y (z) = H(z)X (z) +
z −1
P
↑P
P−1 X k =0
Ek (z)
Summary Characterizing SRC S. Tassart System Model Error Model
Example
5
System Model Error Model
6
Examples SoX 3/4 SoX 44100/48000
SoX 3/4 SoX 44100/48000
Resampler 3/4 Sound eXchange Characterizing SRC S. Tassart
the Swiss Army knife of sound processing programs. http://sox.sourceforge.net/
System Model Error Model
Example SoX 3/4 SoX 44100/48000
Table: Resampling options for SoX v14.2.0
Quality
Phase Response
Bandwidth
Rej
-l
low
linear
80%
100 dB
-m
medium
intermediate
95%
100 dB
-h
high
intermediate
95%
125 dB
-v
very high
intermediate
95%
175 dB
Examples SoX 3/4 Characterizing SRC S. Tassart
resampler 3/4: magnitude kernel and rounding errors 0
System Model Error Model
rounding errors resampling kernel -l
-20
Example
-40
SoX 3/4 SoX 44100/48000
gain (dB)
-60 -80 -100 -120 -140 -160 -180 0
1/8 1/4 3/8 normalized frequency (cycles/sample)
1/2
Examples SoX 3/4 Characterizing SRC S. Tassart
resampler 3/4: magnitude kernel and rounding errors 0
System Model Error Model
rounding errors resampling kernel -l resampling kernel -m
-20
Example
-40
SoX 3/4 SoX 44100/48000
gain (dB)
-60 -80 -100 -120 -140 -160 -180 0
1/8 1/4 3/8 normalized frequency (cycles/sample)
1/2
Examples SoX 3/4 Characterizing SRC S. Tassart
resampler 3/4: magnitude kernel and rounding errors 0
System Model Error Model
rounding errors resampling kernel -l resampling kernel -m resampling kernel -h
-20
Example
-40
SoX 3/4 SoX 44100/48000
gain (dB)
-60 -80 -100 -120 -140 -160 -180 0
1/8 1/4 3/8 normalized frequency (cycles/sample)
1/2
Examples SoX 3/4 Characterizing SRC S. Tassart
resampler 3/4: magnitude kernel and rounding errors 0
System Model Error Model
rounding errors resampling kernel -l resampling kernel -m resampling kernel -h resampling kernel -v
-20
Example
-40
SoX 3/4 SoX 44100/48000
gain (dB)
-60 -80 -100 -120 -140 -160 -180 0
1/8 1/4 3/8 normalized frequency (cycles/sample)
1/2
Examples SoX 3/4 Zoom Characterizing SRC S. Tassart
resampler 3/4: magnitude kernel 0.0001
resampling kernel -l
System Model Error Model
Example
5e-05
gain (dB)
SoX 3/4 SoX 44100/48000
0
-5e-05
-0.0001
-0.00015 0
71.2% 80% normalized frequency (cycles/sample)
92.2% 1/8
Examples SoX 3/4 Zoom Characterizing SRC S. Tassart
resampler 3/4: magnitude kernel 0.0001
resampling kernel -l resampling kernel -m
System Model Error Model
Example
5e-05
gain (dB)
SoX 3/4 SoX 44100/48000
0
-5e-05
-0.0001
-0.00015 0
71.2% 80% normalized frequency (cycles/sample)
92.2% 1/8
Examples SoX 3/4 Zoom Characterizing SRC S. Tassart
resampler 3/4: magnitude kernel 0.0001
resampling kernel -l resampling kernel -m resampling kernel -h
System Model Error Model
Example
5e-05
gain (dB)
SoX 3/4 SoX 44100/48000
0
-5e-05
-0.0001
-0.00015 0
71.2% 80% normalized frequency (cycles/sample)
92.2% 1/8
Examples SoX 3/4 Zoom Characterizing SRC S. Tassart
resampler 3/4: magnitude kernel 0.0001
resampling kernel -l resampling kernel -m resampling kernel -h resampling kernel -v
System Model Error Model
Example
5e-05
gain (dB)
SoX 3/4 SoX 44100/48000
0
-5e-05
-0.0001
-0.00015 0
71.2% 80% normalized frequency (cycles/sample)
92.2% 1/8
SoX 3/4
Performance Measurements
Characterizing SRC S. Tassart
Table: Performance measurements of SoX v14.2.0
System Model Error Model
Example
bandwidth
ripples in the
SoX 3/4 SoX 44100/48000
passband
Rej -1 dB
-0.01 mB
-l
[-0.01,0.01] mB
105.5 dB
80%
72%
-m
[-0.01,0.01] mB
115.1 dB
95%
80%
-h
[0,0.01] mB
128.3 dB
95%
92%
-v
[0,0.01] mB
166.6 dB
95%
92%
Examples
SoX -m 44100/48000 Characterizing SRC resampler 147/160: kernel and rounding errors
S. Tassart
resampling kernel rounding errors
0
System Model -20
Error Model
Example SoX 3/4 SoX 44100/48000
-40
gain (dB)
-60
-80
-100
-120
-140
-160 0
0.1
0.2
0.3
normalized frequency (cycles/sample)
0.4
0.5
Examples
SoX -m 44100/48000 - Zoom passband Characterizing SRC resampler 147/160: kernel and rounding errors
S. Tassart 0
System Model Error Model -20
Example SoX 3/4 SoX 44100/48000
gain (dB)
-40
resampling kernel rounding errors
-60
-80
-100
-120 0
1/160 x 0.5
normalized frequency (cycles/sample)
Examples
SoX -m 44100/48000 - Zoom passband Characterizing SRC resampler 147/160: kernel zoom
S. Tassart
0.0001 resampling kernel
System Model Error Model
Example
5e-05
gain (dB)
SoX 3/4 SoX 44100/48000
0
-5e-05
-0.0001 0
1/160 x 0.5
normalized frequency (cycles/sample)
SoX -m 44100/48000 Performance Measurements
Characterizing SRC S. Tassart System Model Error Model
Example SoX 3/4 SoX 44100/48000
Table: Performance measurements of SoX v14.2.0
bandwidth
ripples in the passband
-m
[-0.01,0.01] mB
Rej
91 dB
-1 dB
-0.01 mB
94%
69%