1 / 11

MATLAB DSP Programs

MATLAB DSP Programs. Raja Rajasakeran Venkat Peddigari Pete Bernardin. Bandpass Filter. close all; clear all; r1 = 0.9; r2 = 0.88; r3=0.9; theta1 = pi/5; theta2 = 3*pi/10; theta3=4*pi/10; p1 = r1*cos(theta1) + i*r1*sin(theta1); p2 = r1*cos(theta2) + i*r2*sin(theta2);

vance
Download Presentation

MATLAB DSP Programs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MATLAB DSP Programs Raja Rajasakeran Venkat Peddigari Pete Bernardin

  2. Bandpass Filter close all; clear all; r1 = 0.9; r2 = 0.88; r3=0.9; theta1 = pi/5; theta2 = 3*pi/10; theta3=4*pi/10; p1 = r1*cos(theta1) + i*r1*sin(theta1); p2 = r1*cos(theta2) + i*r2*sin(theta2); p3 = r3*cos(theta3) + i*r3*sin(theta3); p2 = r2*cos(theta2) + i*r2*sin(theta2); !aroots = [p1,conj(p1),p2,conj(p2), p3, conj(p3)]; aroots = [p2,conj(p2), p3, conj(p3)]; a = poly(aroots); b = [1 zeros(1,18) -1]; b1 = [1]; [h,w] = freqz(b1,a); freqzplot(h,w, 'mag'); figure; freqzplot(h,w,'squared');

  3. Kaiser Bessel Window clear all; close all; N=61; w31 = window(@kaiser,N,1); w33 = window(@kaiser,N,3); w35 = window(@kaiser,N,5); w37 = window(@kaiser,N,7); plot(1:N,[w31, w33, w35, w37]); axis([1 N 0 1]); legend('beta=1','beta = 3', 'beta=5', 'beta=7'); figure; a=[1]; [fw31,f] = freqz(w31,a); [fw33,f] = freqz(w33,a); [fw35,f] = freqz(w35,a); [fw37,f] = freqz(w37,a); freqzplot([fw31,fw33,fw35,fw37],f, 'mag'); legend('beta=1','beta = 3', 'beta=5', 'beta=7');

  4. Time Domain Windows clear all; close all; N=61; w = window(@blackmanharris,N); w1 = window(@hamming,N); w2 = window(@gausswin,N,2.5); w3 = window(@kaiser,N,5); w4 = window(@tukeywin,N,0.5); plot(1:N,[w1,w3,w4]); axis([1 N 0 1]); legend('Hamming','Kaiser', 'Tukey'); figure; a=[1]; [fw,f] = freqz(w,a); [fw1,f] = freqz(w1,a); [fw2,f] = freqz(w2,a); [fw3,f] = freqz(w3,a); [fw4,f] = freqz(w4,a); freqzplot([fw1,fw3,fw4],f, 'mag'); legend('Hamming','Kaiser', 'Tukey');

  5. 100% Duty 50% Duty 12.5% Duty DFT of Square Waves, 3 Duties close all; clear all; x = ones(1,16); y = fft(x,16); my = abs(y)/16; ay = angle(y); stem(my); figure; y1 = fft (x,32)/16; my1 = abs(y1); stem(my1); y2= fft (x,128); figure; stem (abs(y2));

  6. 1 2 4 3 Notch Filters clear all; close all; a = [1 -1.2726 0.81]; b = [1 -1.414 1]; [H, W] = freqz(b,a); figure; freqzplot(H,W,'linear'); title ('Pole-zero Notch Filter - Mag'); figure; freqzplot(H,W); title ('Pole-zero Notch Filter - dB'); a1 = [1]; b1 = [1 -1.414 1]; [H1, W] = freqz(b1,a1); figure; freqzplot(H1,W,'linear'); title ('All zero Notch Filter - Mag'); figure; freqzplot(H1,W); title ('All zero Notch Filter - dB');

  7. Resonators title ('Pole-zero Resonator r=0.99, theta = pi/4 - Mag'); figure; freqzplot(H,W); title ('Pole-zero Resonator r=0.99, theta = pi/4- dB'); r = 0.9; theta = pi/4; a = [1 -2*r*theta r^2]; b = 1; [H, W] = freqz(b,a); figure; freqzplot(H,W,'linear'); title ('Resonator r=0.9, theta = pi/4 - Mag'); figure; freqzplot(H,W); title (' Resonator r=0.9, theta = pi/4- dB'); r = 1.0; theta = pi/4; a = [1 -2*r*theta r^2]; b = 1; [H, W] = freqz(b,a); figure; freqzplot(H,W,'linear'); title ('Oscillator, theta = pi/4 - Mag'); figure; freqzplot(H,W); title ('Oscillator, theta = pi/4- dB'); clear all; close all; r = 0.99; theta = pi/4; a = [1 -2*r*theta r^2]; b = 1; [H, W] = freqz(b,a); figure; freqzplot(H,W,'linear'); title ('Resonator r=0.99, theta = pi/4 - Mag'); figure; freqzplot(H,W); title (' Resonator r=0.99, theta = pi/4- dB'); r = 0.95; theta = pi/4; a = [1 -2*r*theta r^2]; b = 1; [H, W] = freqz(b,a); figure; freqzplot(H,W,'linear'); title ('Resonator r=0.95, theta = pi/4 - Mag'); figure; freqzplot(H,W); title (' Resonator r=0.95, theta = pi/4- dB'); r = 0.99; theta = pi/4; a = [1 -2*r*theta r^2]; b = [1 0 -1] [H, W] = freqz(b,a); figure; freqzplot(H,W,'linear'); 1

  8. 2 3 4 5 6 7 8 10 9 Resonators (continued)

  9. 1 2 4 3 Comb Filters clear all; close all; a = [1 -1]; b = [1 0 0 0 0 0 0 0 0 0 0 -1]; b = b/11; [H, W] = freqz(b,a); figure; freqzplot(H,W,'linear'); title ('Comb Filter M=10 - Mag'); figure; freqzplot(H,W); title ('Comb Filter M=10 - dB'); bz = zeros (1,54); a1 = [1 0 0 0 0 -1]; b1 = [1 [bz] -1]; [H, W] = freqz(b1,a1); figure; freqzplot(H,W,'linear'); title ('LM Comb Filter L = 5 M=10 - Mag'); figure; freqzplot(H,W); title ('LM Comb Filter L = 5 M=10 - dB');

  10. Welch Periodogram PSD close all; clear all; t = 0:.001:4.096; x = sin(2*pi*50*t) + sin(2*pi*120*t); stdev = 2; y = x + stdev*randn(size(t)); figure; plot(y(1:50)) title('Noisy time domain signal') FS = 1000.; % Sampling Rate % 1 section NFFT = 4096; Noverlap = 0 figure; pwelch(y, 4096, Noverlap, NFFT, FS) % 16 overlapping sections NFFT = 512; Noverlap = 256 figure; pwelch(y, 512, Noverlap, NFFT, FS) % 32 overlapping sections NFFT = 256; Noverlap = 128 figure; pwelch(y, 256, Noverlap, NFFT, FS) ¼ Hz Res 1 2 Time 2 Hz Res 4 Hz Res 3 4

  11. Discrete Fourier Transform (DFT)

More Related