Best代寫-最專業靠譜代寫IT | CS | 留學生作業 | 編程代寫Java | Python |C/C++ | PHP | Matlab | Assignment Project Homework代寫

Matlab代寫 | ECE505 Digital Signal Processing

Matlab代寫 | ECE505 Digital Signal Processing


ECE505 Digital Signal Processing

1 Problem Description:
In this project we are going to design and construct a digital 5-channel equalizer for processing audio
files. Equalizers are used for adjusting the gain of an audio signal in different frequency bands.
2 Project Definition:
The equalizer design will have 5 bandpass filters in parallel, each multiplied by a gain constant (i.e.,
the band weight). The overall equalizer system can be drawn in block diagram form as follows:
So we have a parallel group of bandpass filters. The equivalent system transfer function can be written
H(z) = a1H1(z) + a2H2(z) + a3H3(z) + a4H4(z) + a5H5(z),
which leads to the total system impulse response,
h[n] = a1h1[n] + a2h2[n] + a3h3[n] + a4h4[n] + a5h5[n].
We are going to design each bandpass filter as an FIR using the windowing method. To begin, we
start with an ideal frequency response for a bandpass filter with lower and upper cutoff frequencies,
ωl and ωu, respectively, i.e.,
jω)| =
1, if ? ωu ≤ n ≤ ?ωl
, ωl ≤ n ≤ ωu
0, otherwise.
We can then obtain the impulse response hi
[n] for this filter by applying the definition of the inverse
DTFT. The resulting impulse response will exist from (?∞, ∞) and we thus must window and shift
[n] to make it a causal FIR filter for implementation. For each filter stage we have
hk[n] = hi
[n + (M ? 1)/2]w[n + (M ? 1)/2],
where k ∈ (1, 5) and w[n] is a windowing function of length M, with M odd. Once these filters are
combined to produce the overall impulse response h[n], we can process our audio file via convolution,
y[n] = x[n] ? h[n].
3 Design Tasks:
We will assume the input audio files are sampled at a rate of 44.1kHz, which is the rate used on audio
CDs. With our sampling rate fs = 44.1kHz (T = 1/44100 seconds), the effective continuous frequency
responses of the five filters should have a combined bandwidth ranging from 0 to 22.5kHz. I suggest
you divide the combined bandwidth up into five equal bands on a logarithmic scale. The reason for
such a selection is due to the logarithmic way in which humans perceive frequency.
I have provided a MATLAB function, bpw, that implements a causal FIR bandpass filter using the
windowing method. To use it, all you need to specify are the lower and upper digital cutoff frequencies
(in radians per sample), the length of the filter M, and the type of windowing function to apply (i.e.,
I’ve done the hard part). For additional help with the function open the .m file and read the help
section at the beginning of the file.
Your task is to design and create the 5 bandpass filters, which simply involves determining the cutoff
frequency for each filter and choosing a window type. For each filter use a length of M = 501. Also,
note that h1[n] and h5[n] will be lowpass and highpass filters, respectively. This is easily accounted
for by setting ωl = 0 for h1[n] and ωu = π for h5[n]. Once you have created each filter in MATLAB,
you simply need to multiply each filter by its respective gain factor (which are tuning parameters)
and sum the scaled impulse responses together. Then, apply the filter via convolution, i.e., using the
MATLAB command conv(x, h). Once processed, the reconstruction process is to be done using the
sound() command in MATLAB so that you can listen to the results of applying your filter.
To design your equalizer perform the following design tasks. Include any results generated in this
section in the Design section of the document your submit for this project.
1. Use the inverse DTFT to derive the impulse response hi
[n] for an ideal bandpass filter with
lower cutoff ωl and upper cutoff ωh.
2. Determine the upper and lower analog cutoff frequencies for each bandpass filter in radians per
second. I suggest using a logarithmic scale and dividing the frequency axis into five nearly equal
segments from the range of 22.5Hz to 22.05kHz. Once you determine these analog frequencies,
map each one to their corresponding digital frequency in radians per sample.
3. Create the five filters in MATLAB using the bpw function with the digital frequencies you
determined above. Create h3[n] using a rectangular window. Then generate h3[n] again using
a Blackman window. For the other four filters select windows of your choosing. Create the five
gain factors as configurable parameters. Now, multiply each impulse response by its respective
filter gain and sum them all together to obtain the total impulse response.
4. Let’s also generate 10th order IIR bandpass filters using ωl and ωu from h3[n] based upon
Butterworth, Chebychev, and Elliptic filters. Create each filter using these commands:
[b1, a1] = butter(5, [wl/pi wu/pi])
[b2, a2] = cheby1(5, 1, [wl/pi wu/pi])
[b3, a3] = ellip(5, 1, 80, [wl/pi wu/pi])
In each case, notice that the digital cutoff frequencies are normalized by π. The reason for this is
because MATLAB expects the [0, π] range to be normalized to the [0, 1] range. These functions
return the numerator transfer function coefficients in b and the denominator transfer function
coefficients in a that can then be used to generate the frequency response and corresponding
difference equation.
5. Now, read in an audio file using the audioread command (there are several music clips on the
class website that have been sampled at 44.1kHz). Convolve the audio file with the total impulse
response. Listen to the result using the sound command. Now, tune the gain parameters until
you find a set of values that you like.




北美代写,论文Essay代写,留学作业代写,-北美最专业的代写专家 堪培拉代写assignment,论文代写,留学作业代写-peaking代写 essay代写,assignment代写,留学生作业代写网课代做-锐 泽 代写 阿德莱德代写assignment,北美网课代修领导者,留学生网课代修代考 珀斯代写assignment,CS代写,留学生CS程序代写-Custom Writing代写 新西兰代写,math代写,新西兰Assignment代写-美 伦 代写 怎么样？ 留学生CS代写,Java编程代写,网课代上代修-ezace留学生代写 达尔文代写assignment,留学生作业代写,留学代写-菠萝 菠萝蜜 代写 代写assignment,网课代上代考,考试代考论文代写-全球最好的华人代写机构 留学生代写,经济代写,代写作业-【靠谱】服务澳洲加拿大英国美国等地区