Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
H
HDL
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Jira
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
RTSD
HDL
Merge requests
!419
Resolve
RTSD-265
Code
Review changes
Check out branch
Download
Patches
Plain diff
Merged
Resolve
RTSD-265
RTSD-265
into
master
Overview
0
Commits
49
Pipelines
1
Changes
1
Merged
Eric Kooistra
requested to merge
RTSD-265
into
master
4 months ago
Overview
0
Commits
49
Pipelines
1
Changes
1
Expand
Closes
RTSD-265
0
0
Merge request reports
Viewing commit
5a94feec
Prev
Next
Show latest version
1 file
+
59
−
8
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
5a94feec
Clarify polyphase decomposition
· 5a94feec
Eric Kooistra
authored
7 months ago
applications/lofar2/model/pfb_os/dsp_study_erko.txt
+
59
−
8
Options
@@ -1145,23 +1145,74 @@ c) s-plane and z-plane
X_U(e^jw) = X(exp(jw U)), w in [0:2pi>
X(jwL) traverses unit circle U times
- Polyphase decomposition of H(z) [VAIDYANATHAN 4.3]:
H(z) = H0(z^N) + H1(z^N) z^-1 + H2(z^N) z^-2 + ... + Hi(z^N) z^-i
. Hi(z^N ) is the z-transform of h(mN + i)
. Phase i of h(n) with N - 1 zeros
- Noble identities [LYONS Fig 10.20], HARRIS 2.2.1, VAIDYANATHAN Fig 4.2.3]
. Down sampling : x[n] --> H(z^Q) --> Q:1 --> y[m], is equivalent to:
x[n] --> Q:1 --> H(z) --> y[m]
The output from a filter H(z^Q) followed by a Q:1 downsampler is identical
to a Q:1 downsampler followed by a filter H(z).
. Up sampling : x[n] --> 1:Q --> H(z^Q) --> y[m], is equivalent to:
H(z) --> 1:Q
. The filter H() can be FIR or IIR.
. The H(z^Q) operates at the higher rate, but has zero weights at all Q-1
samples that will get discarded by a downsampler or inserted by an
upsampler. The filter H(z) operates at the lower rate.
. H_i(z^Q) is upsampled-by-Q version of H(z), so with Q-1 zero coefficients
in the H(z) power series, starting at phase i.
. If D and U are relatively prime, then they can be changed in order.
- Polyphase decomposition of H(z) [VAIDYANATHAN 4.3, PROAKIS 10.5.2]:
. Direct-Form FIR is first apply delay z^(-q) then apply coefficient. Fits
down sampling because coefficients are then applied at low rate.
. Transposed Direct-Form FIR is first apply coefficient, then delay z^(-q)
result. Fits up sampling because coefficients are then applied at low rate.
. Commutator direction from oldest phase (q = Q-1 at end of delay line) to
current phase (q = 0 direct path). Assume FIR delay lines are drawn from
top to bottom for phases q = 0 to Q-1 for both Direct-Form and Transposed
Direct-Form, then:
- down sampling input commutator rotates counter clockwise and yields 1
sample every rotation, because the summation stage is combinatorial
- up sampling output commutator rotates clockwise and yields U samples
every rotation
. Type I polyphase
(Can also notate Hq = Eq, hq = eq)
H(z) = E0(z^Q) + E1(z^Q) z^-1 + E2(z^Q) z^-2 + ... + E_{Q-1}(z^Q) z^-(Q-1)
Q-1
= sum z^(-q) Eq(z^Q) [VAIDYANATHAN Eq 4.3.7]
q=0
where Eq(z^Q) is the z-transform of eq[n]:
eq[n] = h(nQ + q), +q for counter clockwise [PROAKIS
+inf
Eq(z) = sum eq[n] z^(-n), 0 <= q <= Q - 1
n=-inf
- Note: For Q = 1 the Eq(z) are the single FIR coefficients in b
. Type II polyphase, clockwise commutator:
Q-1
H(z) = sum z^(-(Q-1-q) Rq(z^Q) [VAIDYANATHAN Eq 4.3.7]
q=0
where:
rq[n] = h(nQ - q)
Rq(z) = E_{M-1-q}(z)
. Phase q of h(n) with Q - 1 zeros, so [VAIDYANATHAN Fig 4.3.1]:
h[n] --> z^(-q) --> Q:1 --> eq[n]
- Fractional time delay [CROCHIERE 6.3]
. Up sampling Q --> LPF --> z^(-d) --> down sampling Q yields semi allpass
Loading