首页
网站开发
桌面应用
管理软件
微信开发
App开发
嵌入式软件
工具软件
数据采集与分析
其他
首页
>
> 详细
ESE531程序辅导、讲解Matlab程序、Matlab编程语言调试 辅导R语言程序|解析C/C++编程
项目预算:
开发周期:
发布时间:
要求地区:
ESE531 Spring 2018
University of Pennsylvania
Department of Electrical and System Engineering
Digital Signal Processing
ESE531, Spring 2018 Final Project: Adaptive Filtering Friday, Mar. 30
Due: Tuesday, April 24th, 11:59pm
Project Teams: You can work in groups of no more than 2 for this project. You may work
alone. Each group must turn in one report with the clear contributions of each member
clearly delineated. Everyone is responsible for understanding the design and report in its
entirety, and the instructor reserves the right to interview the students to verify this.
You are to complete all three parts of the handout: Part A, Part B, and Part C. Part D may
be turned in for extra credit.
1. Part A: ADAPTIVE NOTCH FILTER.
DO NOT use high level Matlab commands that may be available in the Signal Processing
and other Matlab toolboxes for adaptive filtering in this part. It is easy and much more
instructive to write your own Matlab code to implement these.
A simple real IIR notch filter is a second order filter with two conjugate zeros on the
unit circle and two conjugate poles inside the unit circle,
The notch is at real frequency ω0 and the closeness of the poles to the unit circle
determines the notch sharpness. This filter can be used to reject a strong interfering
sinusoid that is contaminating a desired signal. For unknown interfering frequency we
want to build an adaptive notch filter, based on the principle that the filter output is
minimized when the notch is at the correct location. Note that the adaptation is with
respect to the parameter value a, with r generally set at a fixed value. Since this is
not an FIR filter, we cannot directly apply the LMS algorithm derived for adaptive
FIR filters. However it is possible to develop a simple algorithm for the adaptive notch
filter.
We can decompose H(z) as a cascade of the FIR part followed by the all-pole filter,
and we can write the output sequence y[n] when input sequence is x[n] in terms of an
intermediate sequence e[n]:
ESE531 Spring 2018
The gradient of y[n]
2 with respect to a is 2y[n]
dy[n]
da where the derivative is not simple;
thus, as an approximation we replace dy[n]
da with de[n]
da = x[n−1]. To minimize E(y[n]
2
),
we approximate its gradient as 2y[n]x[n − 1]. The adaptive notch filter update of the
parameter a (for fixed choice of r) is therefore: a[n + 1] = a[n] − µy[n]x[n − 1]. Since
a = −2cos(ω0) we have −2 ≤ a < 2 . We should impose this constraint for the updates
and reset a[n] = 0 if it is out of bounds.
(a) Create a simple simulation of an adaptive notch filter for a desired signal with
unwanted additive sinusoidal interference. The desired signal may be some real
sequence perhaps with a small amount of additive noise; you can use a singlefrequency
desired signal as one possibility, but experiment with other types of
desired signal also. The interference will be a single strong frequency (low signalto-interference
power ratio). Start with a = 0 (ω0 =
π
2
, mid-point of frequency
band). Consider different small values of µ , different fixed values of r (of the
order of 0.85 to 0.98), different interfering frequencies and powers. Note that
µ will have to be quite small. Give plots and results on frequency response,
convergence, spectra, etc. to show how well your adaptive filter works.
(b) Consider one case where the single interfering sinusoid has a frequency that is
changing slowly. For example, you might define the interference as a sinusoid
with a slowly linearly increasing frequency or some other slowly changing profile.
Examine the tracking ability of the adaptive notch filter and give your results and
comments. (Note that the instantaneous frequency of a sinusoid cos(2π · φ(t)) is
dφ
dt )
(c) Can you extend your scheme of part (a) to a filter scheme creating two notches
to reject two sinusoidal components? In particular, you might consider a cascade
of two single-notch second-order notch filters, and adapt the a parameter of each
(i.e. a = a1 and a = a2). Explain your approach and give your results for a test
case of two interfering sinusoids on a desired signal.
2. Part B: ADAPTIVE EQUALIZATION
DO NOT use high level Matlab commands that may be available in the Signal Processing
and other Matlab toolboxes for adaptive filtering in this part. It is easy and much more
instructive to write your own Matlab code to implement these.
Here you will use adaptive filtering to equalize or invert an unknown channel, with (1)
the help of a training sequence and also (2) blindly, without training.
Training Mode Equalization:
Consider a source sending continuous-time pulses of amplitude A or −A to represent
bits 1 and 0. The sequence of such pulses passing through a channel can undergo
distortion causing them to spread out and overlap with each other, creating what
is called inter-symbol interference or ISI. In addition, any front-end filtering at the
receiver may cause further pulse spreading.
The channel may be modeled in discrete-time as follows: an input sequence s[n] (random
sequence) of ±A amplitudes passes through a discrete-time LTI system (channel)
2
ESE531 Spring 2018
with unit-sample response sequence h[n] to produce the observed sequence of channel
output samples x[n] in the presence of noise. Thus we have x[n] = h[n] ∗ s[n] + w[n]
where w[n] is a sequence of zero-mean, independent, Gaussian variates representing
additive noise. The channel may be assumed to be an FIR channel of order L (length
L + 1), and its unit-sample response h[n] is unknown. At the channel output we use
an FIR adaptive equalizer filter of larger length M + 1 operating on x[n] to try to
invert the channel, to ideally get at its output a delayed version of the original input
sequence s[n], after the adaptive filter has converged. In order to implement the LMS
training algorithm for the equalizer, we need a copy of the actual input sequence for
use as the desired (delayed) output signal during an initial training phase. After the
training phase, the equalizer should have converged to a good approximation of an
inverse filter.
(a) Produce a random ±1 amplitude training sequence of length 1000. Assume
some channel unit-sample response h[n]; you may use for example something like
h = [0.3, 1, 0.7, 0.3, 0.2] for your initial trials, but you should also test your implementation
for different unknown channels of such short lengths ( ≤ 7). At
the output of the channel (after convolution of input sequence with h[n]) add
Gaussian noise to simulate a more realistic noisy output condition. You may use
an SNR of around 20-35 dB. Now implement an adaptive filter operating on the
noisy channel output x[n], using a training sequence which is an appropriately
delayed version of the input sequence. The delay will take care of any unknown
channel delay (for example, for the channel given above the channel delay may
be 2 units,) and equalizer filter delay. Examine the performance you get with different
combinations of equalizer filter order M (choose this between 10 and 30),
filter step-size µ , adaptive filter initialization, SNR, channel impulse response
h[n], etc.
Examine the impulse and frequency response and pole-zero plot of the channel,
and the impulse and frequency responses of the equalizer upon convergence, and
provide plots and results that show how well your adaptive equalizer works under
different channel and noise conditions. Plot also the impulse response and frequency
response of the equivalent LTI system between input and output, i.e. the
result of the channel and equalizer in cascade, after the equalizer has reached reasonable
convergence. Determine if output decisions about the transmitted bits are
better after equalization, compared to the un-equalized case. (You can check the
output of the system using the equalizer obtained after convergence, by sending
several thousand further inputs into the channel.) Comment on your findings.
Blind Equalization:
It is not always possible to have an initial training phase, during which an equalizer
at the receiver knows the input, to form an error to drive its LMS training algorithm.
The transmitter may be continuously sending data through a channel, and it may be
left to the receiver to figure out for itself how to equalize the channel, without the
benefit of a known training input sequence.
3
ESE531 Spring 2018
In the context of the simple scenario of part 3(a), the situation now is that the receiver
knows only that the transmitted pulse amplitudes are two-level ±1 values (more
generally ±A amplitudes). It has to use only this general knowledge about the nature
of the input to learn how to equalize the channel. It has no knowledge of an explicit
transmitted sequence that it can use for training, and we say it is operating in the
blind mode.
A simple approach to blind equalization in this setting is based on the use of the
constant- modulus property of the input; the modulus or absolute value of the input
amplitude sequence is a constant (= 1 or more generally A). The constant-modulus
(CM) blind equalization algorithm attempts to equalize the channel by iterative adjustments
to the equalizer with the objective of minimizing a measure of deviation of
the equalizer output modulus values from a constant modulus value.
Referring to the LMS adaptive algorithm description, we now have input sequence
x[n] to an equalizer that produces output y[n].
coefficient vector at time n. Differentiating this with respect to gn we easily find
that the gradient de2
n
dgn
is proportional to (|y[n]|
2 − 1)y[n]xn. Thus the corresponding
stochastic gradient algorithm becomes gn+1 = gn − µ(|y[n]|
2 − 1)y[n]xn.
(b) Implement this blind adaptive equalizer. Does the blind equalizer converge to a
reasonably equalized condition? You will have to try different settings for µ and
equalizer order M. (You will need possibly many tens of thousands of iterations,
and will need to experiment with rather small value of µ , perhaps of the order
of 10−4 depending on the specifics of your other parameters.) Use short channel
impulse response lengths (around 5) and dont use equalizer lengths that are too
long (around 20 maximum). Try different SNRs, but expect poor results if the
SNR is not high.
Provide plots and results, and give explanations/comments as in the case of part
(a) above. Also provide a one-dimensional scatter plot of the output amplitudes
after equalizer convergence, to get a visual sense of how well the equalizer is able
to bring the output amplitudes close to the desired two amplitudes.
3. Part C: FILTER DESIGN USING LMS ALGORITHM
DO NOT use high level Matlab commands that may be available in the Signal Processing
and other Matlab toolboxes for adaptive filtering in this part. It is easy and much more
instructive to write your own Matlab code to implement these.
Suppose a desired frequency response Hd(e
jω) is specified (with even magnitude and
odd phase function). You want to design a real, causal, FIR impulse response {h[0], h[1], ..., h[M]}
for an M-th order FIR filter which gives a good approximation to this Hd(e
jω). The
desired frequency response may not be of a standard type such as a low-pass or bandpass
specification. For this we may form a long, real, test input signal sequence
{xin[n], n = 0, 1, ..., K} consisting of a large number L of individual frequencies spanning
the range (0, 0.5) . The corresponding ideal desired output {xd[n], n = 0, 1, ..., K}
4
ESE531 Spring 2018
is obtained using the magnitude scaling and phase shift specified by Hd(e
jω) for each
such input frequency. The impulse response coefficients of an FIR filter of order M
may then be adaptively learned using the LMS algorithm to get approximately this
desired output sequence xd[n] when driven by the test input sequence xin[n] .
(a) Let the desired magnitude response be:
and the FIR filter of order M is to have linear phase.
Form reasonable test input and corresponding desired output sequences, containing
an appropriate number L of individual frequencies spread over the (0,0.5)
interval. Use the LMS adaptive FIR filter scheme to find a good design for a
causal FIR filter of order M that will produce a good approximation of the desired
output. Note that you will have to experiment with different combinations of
step-size (this has to be generally small), filter length M, number of test frequencies
L, and length of the test sequences N (this will generally be large). Give plots
of your designed filter(s) characteristics (impulse response, frequency response).
Discuss briefly/comment on any specific aspects of your method or results that
you want to highlight.
(b) Now suppose the desired response is
Hd(e
j2πf ) = (
j2πf, for 0 ≤ |f| ≤ 0.3
0, for 0.3 ≤ |f| ≤ 0.5
any additional linear phase term is allowed. The real FIR filter of order M approximating
this is to have generalized linear phase. Repeat your procedure of
part (a) for this case. After you have obtained your FIR filter, test it on some
interesting inputs.
4. Part D: MULTI-CHANNEL FIR FILTER-BANK.
You are to implement a perfect reconstruction filter-bank (PR-FB) using Matlab, and
apply it to images. You can use Matlab routines such as firpr2chfb and mfilt.firdecim,
etc., for this purpose. Image Processing and related toolbox functions in Matlab may
be useful (e.g. imread, imshow, mat2gray, hist, imhist, etc.)
(a) Design a one-dimensional 2-channel PR-FB. This can be applied for separable
(rows and columns) sub-band analysis/synthesis of two-dimensional images. For
image processing, strict spatial frequency separation may not be as critical as in
other applications. Experiment with a small filter order (between 6 and 12) and
a longer one. Use a reasonable choice for filter band-edge. Your design will yield
the analysis and synthesis filters H0, H1, G0, and G1. (You might want to first
test the filter bank on some simple one-dimensional test signal.)
5
ESE531 Spring 2018
(b) You will now use a grayscale 8-bit, 512x512 image to test image sub-band decomposition.
A couple of possible test images (man.gif, owl.gif) are posted
on the course calendar; any other reasonable test image can be used. Apply your
2-channel analysis filter bank of part (a) to your test image(s), to get decomposition
into (256x256) sub-band components (Low-Low or LL, Low-High, HighLow,
and High-High). The image filtering can be implemented as separable rowcolumn
filtering operations. Test for exact reconstruction when synthesizing the
image back from these four sub-bands.
(c) Perform reconstruction or synthesis as above, but this time with all pixels of
the LH, HL, and HH sub-band images set to 0. Comment on the nature of the
reconstruction you see.
(d) Now instead of using single zero levels as in (c) for all pixels of the LH, HL,
and HH sub-band images, experiment with less severe compression by using one
bit (two levels) per pixel quantization for these three sub-band images, and also
with three level (and, if you want, four level or 2-bit) per pixel quantization. To
design reasonable quantization schemes (levels and thresholds) you may consider
histograms of pixel values for the sub-bands.
(e) Do a further decomposition of the Low-Low (LL) image obtained in part (b) by
applying the same 2-channel analysis filter bank to it. (This corresponds for 1-
D signals to octave- band filtering into 3 sub-bands). Now apply considerations
similar to those of parts (c) and (d) to see if reasonable reconstructions can be
obtained with simple quantization. Note: There can be different delays or shifts
for different sub-band octave components.
6
ESE531 Spring 2018
Project Submission: Your report submission for this project will consist of two parts.
• Project Report:
You should submit by the due date a single filed report (preferably pdf) explaining what
you did and the results you obtained, including figures, test cases, interpretations and
comments, as well as responses to any specific questions asked above. Please explain
briefly your Matlab code; include a copy of all your Matlab code in your report in an
Appendix. The report must be uploaded to Canvas by midnight on the due date.
• MATLAB Code and Other Soft Files: Also submit (upload) by the due date through
the Assignments Area on the ESE 531 Canvas Site all supporting material (all your
Matlab code files, test input/output files, and any other results files). Ideally all
placed in a compressed .zip file. Please make sure you follow the proper procedure for
submitting files through Canvas.
7
软件开发、广告设计客服
QQ:99515681
邮箱:99515681@qq.com
工作时间:8:00-23:00
微信:codinghelp
热点项目
更多
代写math 1151, autumn 2024 w...
2024-11-14
代做comp4336/9336 mobile dat...
2024-11-14
代做eesa01 lab 2: weather an...
2024-11-14
代写comp1521 - 24t3 assignme...
2024-11-14
代写nbs8020 - dissertation s...
2024-11-14
代做fin b377f technical anal...
2024-11-14
代做ceic6714 mini design pro...
2024-11-14
代做introduction to computer...
2024-11-14
代做cs 353, fall 2024 introd...
2024-11-14
代做phy254 problem set #3 fa...
2024-11-14
代写n1569 financial risk man...
2024-11-14
代写csci-ua.0202 lab 3: enco...
2024-11-14
代写econ2226: chinese econom...
2024-11-14
热点标签
mktg2509
csci 2600
38170
lng302
csse3010
phas3226
77938
arch1162
engn4536/engn6536
acx5903
comp151101
phl245
cse12
comp9312
stat3016/6016
phas0038
comp2140
6qqmb312
xjco3011
rest0005
ematm0051
5qqmn219
lubs5062m
eee8155
cege0100
eap033
artd1109
mat246
etc3430
ecmm462
mis102
inft6800
ddes9903
comp6521
comp9517
comp3331/9331
comp4337
comp6008
comp9414
bu.231.790.81
man00150m
csb352h
math1041
eengm4100
isys1002
08
6057cem
mktg3504
mthm036
mtrx1701
mth3241
eeee3086
cmp-7038b
cmp-7000a
ints4010
econ2151
infs5710
fins5516
fin3309
fins5510
gsoe9340
math2007
math2036
soee5010
mark3088
infs3605
elec9714
comp2271
ma214
comp2211
infs3604
600426
sit254
acct3091
bbt405
msin0116
com107/com113
mark5826
sit120
comp9021
eco2101
eeen40700
cs253
ece3114
ecmm447
chns3000
math377
itd102
comp9444
comp(2041|9044)
econ0060
econ7230
mgt001371
ecs-323
cs6250
mgdi60012
mdia2012
comm221001
comm5000
ma1008
engl642
econ241
com333
math367
mis201
nbs-7041x
meek16104
econ2003
comm1190
mbas902
comp-1027
dpst1091
comp7315
eppd1033
m06
ee3025
msci231
bb113/bbs1063
fc709
comp3425
comp9417
econ42915
cb9101
math1102e
chme0017
fc307
mkt60104
5522usst
litr1-uc6201.200
ee1102
cosc2803
math39512
omp9727
int2067/int5051
bsb151
mgt253
fc021
babs2202
mis2002s
phya21
18-213
cege0012
mdia1002
math38032
mech5125
07
cisc102
mgx3110
cs240
11175
fin3020s
eco3420
ictten622
comp9727
cpt111
de114102d
mgm320h5s
bafi1019
math21112
efim20036
mn-3503
fins5568
110.807
bcpm000028
info6030
bma0092
bcpm0054
math20212
ce335
cs365
cenv6141
ftec5580
math2010
ec3450
comm1170
ecmt1010
csci-ua.0480-003
econ12-200
ib3960
ectb60h3f
cs247—assignment
tk3163
ics3u
ib3j80
comp20008
comp9334
eppd1063
acct2343
cct109
isys1055/3412
math350-real
math2014
eec180
stat141b
econ2101
msinm014/msing014/msing014b
fit2004
comp643
bu1002
cm2030
联系我们
- QQ: 9951568
© 2021
www.rj363.com
软件定制开发网!