- Discussed stereo decoding (Lab 3)
- Sampling rate conversion by integer factor
- Filter design for sampling rate conversion by an integer factor
This is a blog for issues relating to the course ECE 5630 Digital Signal Processing taught in the Department of Electrical and Computer Engineering at Utah State University in the Fall semester of 2010.
Friday, October 29, 2010
Class: 10/29/2010
Wednesday, October 27, 2010
Monday, October 25, 2010
Class: 10/25/2010
- Sampling and reconstruction
- Anti-alias filter design
- Reconstruction filter design
- Discussion of Midterm 1
Friday, October 22, 2010
Class: 10/22/2010
- Began discussion of sampling of continuous-time signals.
- Aliasing.
- Filtering prior to sampling to avoid aliasing.
Wednesday, October 20, 2010
Lab 3 Question
Dr. Gunther,
I am working on Lab3. I have some questions, I think I have confused myself.
1. In regards to the equations given in class to develop the AGC.
a. In “mt” and “qt”: is “t” value the sample number and “xt” is the value coming out of the second band pass filter?
Yes. xt is x(t) which is the sample value at time t of the signal that you want to compute statistics on.
b. Both mt and qt depend on the previous value of mt and qt, so we can assume mt and qt start at out with values of zero?
Yes. That will be fine.
c. For every point coming out of the 2nd band pass filter should be multiplied by (1/sqrt(2))*(1/sqrt(qt-mt^2))*xt for qt and mt at t?
Yes. This is the scaling that you want to apply to the signal that you want to normalize. Note that you apply the scaling after you have used x(t) in the computation of the statistics m(t) and q(t). If you apply the scale factor before you insert x(t) into the updates, it will goof everything up.
2. After the gain control (question one) I need to sum this row with the filter and delayed L-R path. Why does it need to be put through another Filter?
a. Remember that there is delay associated with all filtering operations.
b. In this application, signals need to stay "time aligned". Because a filter in one branch of the processing introduces delay, we have to insert an equivalent amount of delay into the other branch of processing to keep signals time aligned.
c. A filter can be used to implement a pure delay. For example, if filter A introduces d samples of delay, then a filter with impulse response [0 0 ... 0 1] is a pure delay all-pass filter, where the number of zeros inserted is equal to d, the delay. No zeros gives no delay, one zero gives a delay of one sample, and so on. The filter [0 0 ... 0 1] is delay matched to the other filter so that if you put filter A in one branch of processing, then you need to put the pure delay filter in the other branch of processing so that the signals stay time aligned at the filter outputs.
3. If I am using n=500 for my filters, the delay filter should have 499 zero and then a 1? Or should be only have 498 zeros and then the one?
Use odd length FIR filters that are symmetric about the center tap. Then the delay is easy to calculate. If the length of the filter is N (where the filter has a symmetric impulse response and N is odd), then the delay is (N-1)/2. So a filter with matching delay will have impulse response of:
[0 0 <--- (N-1)/2 zeros ---> 0 0 1].
4. On the request to turn in the frequency response plot of the filter, does plot in the attachment met this requirement?
Yes, it looks fine, but I'd prefer that you use the fft function in Matlab and produce your own plot instead of using the freqz function. The frequency axis should go from 0 to 0.5 or from -0.5 to 0.5 [cycles/sample].
I am working on Lab3. I have some questions, I think I have confused myself.
1. In regards to the equations given in class to develop the AGC.
a. In “mt” and “qt”: is “t” value the sample number and “xt” is the value coming out of the second band pass filter?
Yes. xt is x(t) which is the sample value at time t of the signal that you want to compute statistics on.
b. Both mt and qt depend on the previous value of mt and qt, so we can assume mt and qt start at out with values of zero?
Yes. That will be fine.
c. For every point coming out of the 2nd band pass filter should be multiplied by (1/sqrt(2))*(1/sqrt(qt-mt^2))*xt for qt and mt at t?
Yes. This is the scaling that you want to apply to the signal that you want to normalize. Note that you apply the scaling after you have used x(t) in the computation of the statistics m(t) and q(t). If you apply the scale factor before you insert x(t) into the updates, it will goof everything up.
2. After the gain control (question one) I need to sum this row with the filter and delayed L-R path. Why does it need to be put through another Filter?
a. Remember that there is delay associated with all filtering operations.
b. In this application, signals need to stay "time aligned". Because a filter in one branch of the processing introduces delay, we have to insert an equivalent amount of delay into the other branch of processing to keep signals time aligned.
c. A filter can be used to implement a pure delay. For example, if filter A introduces d samples of delay, then a filter with impulse response [0 0 ... 0 1] is a pure delay all-pass filter, where the number of zeros inserted is equal to d, the delay. No zeros gives no delay, one zero gives a delay of one sample, and so on. The filter [0 0 ... 0 1] is delay matched to the other filter so that if you put filter A in one branch of processing, then you need to put the pure delay filter in the other branch of processing so that the signals stay time aligned at the filter outputs.
3. If I am using n=500 for my filters, the delay filter should have 499 zero and then a 1? Or should be only have 498 zeros and then the one?
Use odd length FIR filters that are symmetric about the center tap. Then the delay is easy to calculate. If the length of the filter is N (where the filter has a symmetric impulse response and N is odd), then the delay is (N-1)/2. So a filter with matching delay will have impulse response of:
[0 0 <--- (N-1)/2 zeros ---> 0 0 1].
4. On the request to turn in the frequency response plot of the filter, does plot in the attachment met this requirement?
Yes, it looks fine, but I'd prefer that you use the fft function in Matlab and produce your own plot instead of using the freqz function. The frequency axis should go from 0 to 0.5 or from -0.5 to 0.5 [cycles/sample].
Monday, October 18, 2010
Thursday, October 14, 2010
Class: 10/14/2010
- Radix-2 FFT
- Decimation in time and decimation in frequency
- Bit reversed indexing
- In place computation
- Computational complexity: O( [N/2] log_2(N) )
- Split radix algorithms mentioned
Wednesday, October 13, 2010
Class: 10/11/2010
- Short-time Fourier transform
- Spectrograms
- Initial discussion of fast Fourier transform (FFT)
Class: 10/13/2010
- FFT discussion - understanding divide and conquer.
- 2-way and 4-way butterfly circuits.
Tuesday, October 12, 2010
Lab 3
Lab 3 about filtering techniques to separate left and right audio channels is due this Friday Oct. 15, 2010. Are we going to talk about in class how to do this? We were going to do it last week, but we never did.
Friday, October 8, 2010
Class: 10/08/2010
- Computing the DFT in Matlab via the FFT function.
- Window functions in Matlab
- Discussion of Midterm Exam 1 (due Monday, 11 October 2010)
- Overlap-add and overlap-save convolution
Wednesday, October 6, 2010
Class: 10/06/2010
- Linear and circular convolution.
- Linear convolution via the DFT.
- Matrix-vector representations of linear and circular convolution.
Monday, October 4, 2010
Subscribe to:
Comments (Atom)