/DSP-with-MATLAB

Code for practicing DSP theories with matlab.

Primary LanguageHTML

Digital Signal Processing with MATLAB

A teacher - Werner Heisenberg

Description

All of the codes in this repo are based on Dr. Po Chen's course of DSP in Youtube!

You can access the course here: Digital Signal Processing With Matlab

Also, the main website of this repository is here - You can view published MATLAB codes in this website.

  1. S1
  2. S2
  3. S3
  4. S4
  5. S5
  6. S5-2

1. Matlab Crashcourse 1,2,3

2. Basic signals and Operators

step seq, impulse seq, shift/fold a signal, signal addition/multiplication, real/complex exponential signals, energy, power impsqe.m, stepseq.m, sigshift.m, sigfold.m, sigadd.m, sigmult.m,

3. Complex numbers

properties of complex number, complex addition, multiplication, division (using conj), principle square root, standard & polar (euler) representation

4. Excercises for basic signals and operations

s1.m

5. Convolution

odd and even decomposition, convolution, cross-correlation, four properties of convolution, matlab DTFT implementation, DTFT can be implemented as matrix multiplication, thus many interesting concepts from linear algebra can be imported into DSP, like eignevalue and eigenvector. unit_sample_synth, conv_m.m, s2.m

6. DFT or DTFT

properties of DTFT, linearity, modulation (freq-shift), time-shift, conjugation. Write DFT from scratch. compare our own DFT and matlab's FFT. folding, convolution, correlation, multiplication, Parseval's Theorem (energy), s3.m

7. DFS

DFS matlab implementation, periodic singal example, dfs.m, idfs.m, s4.m, DFS of square wave train, relationship between frequency domain and time domain, effect of each fourier series coefficients on the singal in time domain (after synthesis)

8. Filters

time domain representation of Ideal Frequency Selective Filter (IFF), Non Ideal Frequency Selective Filter (NFF), moving average, difference, MA with different weights b_k, generalized moving average, windows (filters), box, kaiser, bartlett, hamming, van hann (old hanning), wvtool, freqz(B,A,N), effect of box, kasier, and hamming window apply filters to signal, use fir function, fir1, fir2, firpm (Parks-McClellan optimal equiripple FIR filter design), firpm (Parks-McClellan optimal equiripple FIR filter design), firgr (Generalized Remez FIR filter design), firls (Linear-phase FIR filter design using least-squares error minimization), fircls (Linear-phase FIR filter design by constrained least-squares), recusrive low-pass filter, design filters with fdatools, tf2zp, zp2tf, fvtool, butterworth (butter), Chebyshev Type I,II (cheby1,2), Eliptic (ellip) filters, Use b,a coeffs to filter a signal with filter() function, Use filtfilt to have zero-phase filter, designfilt is the second way to use IIR filters, filtord