Lab 8 Matlab.docx

  • Uploaded by: Sher Ejaz
  • 0
  • 0
  • October 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Lab 8 Matlab.docx as PDF for free.

More details

  • Words: 1,430
  • Pages: 13
Department of Electrical Engineering Dated: _27TH MARCH 2019___________________

Faculty Member:_DR SHEHZAD YOUNIS___________________

Course/Section:__BEE-9D__________________

Semester: _4TH_________________

EE-232 Signals and Systems Lab #8 Fourier Series

Name SHER SHAH EJAZ

EE-232 Signals and Systems

Reg. no.

Report Marks / Viva Marks 10 /5

Total/15

212230

Page 1

Lab7: Fourier Series

Objectives The goal of this laboratory is to be able to calculate the fourier series of approximately continuous time and discrete time signals and plot the real part of the spectrum / Fourier series coefficients.    

MATLAB Demos on Fourier series Fourier Series Calculation of Discrete Time Signals Inverse Fourier Series Calculation given Fourier Series Coefficients Determine Frequency Response of an LTI Causal System

Lab Instructions  This lab activity comprises of three parts: Pre-lab, Lab Exercises, and Post-Lab Viva session.  The Pre-lab tasks should be completed before coming to the lab. The reports are to be submitted on LMS.  The students should perform and demonstrate each lab task separately for step-wise evaluation  Only those tasks that completed during the allocated lab time will be credited to the students. Students are however encouraged to practice on their own in spare time for enhancing their skills. Lab Report Instructions All questions should be answered precisely to get maximum credit. Lab report must ensure following items:  Lab objectives  MATLAB codes  Results (graphs/tables) duly commented and discussed  Conclusion

EE-232 Signals and Systems

Page 2

Fourier Series of Continuous Time and Discrete Time Signals 1.1

Pre-Lab

1.1.1

Introduction

CTFS For a CT signal 𝑥(𝑡) with fundamental period 𝑇 and fundamental frequency 𝑤0 = synthesis and analysis equations are given by (1) and (2), respectively.

2𝜋 𝑇

, the CTFS

2𝜋

𝑗𝑘( )𝑡 𝑇 𝑥(𝑡) = ∑∞ 𝑘=−∞ 𝑎𝑘 𝑒 1

(1)

2𝜋

𝑎𝑘 = 𝑇 ∫𝑇 𝑥(𝑡)𝑒 −𝑗𝑘( 𝑇 )𝑡 𝑑𝑡

(2)

DTFS For a DT signal 𝑥[𝑛] with fundamental period 𝑁, the DTFS synthesis and analysis equations are given by (3) and (4), respectively. 2𝜋

𝑥[𝑛] = ∑𝑘=<𝑁> 𝑎𝑘 𝑒 𝑗𝑘( 𝑁 )𝑛 1

2𝜋

𝑎𝑘 = ∑𝑛=<𝑁> 𝑥[𝑛]𝑒 −𝑗𝑘( 𝑁 )𝑛 𝑁

(3) (4)

Remember that 𝑥[𝑛] has period 𝑁, so that the summation in (4) can be replaced with a sum over any 𝑁 consecutive values of 𝑛. Similarly, 𝑎𝑘 is periodic in 𝑘 with period 𝑁 so that the summation in (3) can be replaced with a sum over any 𝑁 consecutive values of 𝑘.

EE-232 Signals and Systems

Page 3

1.1.2 Fseriesdemo and sinesum2 Demo: These demos concentrate on the use of MATLAB GUI for Fourier series.  

fseriesdemo: FourierSeriesDemo is a GUI that shows Fourier Series synthesis for different number of Fourier coefficients. Different signals can be selected: square wave, sawtooth, triangle and rectified sinusoids. sinesum demo: Sinesum demo helps us to take the sum of sinusoids to create more complex signals.

You have been provided the zip files for both. Extract them to the MATLAB working directory or extract them to any directory of choice and include the path in MATLAB. We can run the demos by writing the following commands on the Command Window. >> fseriesdemo

Pre Lab Task 1 Your task is to create a sawtooth waveform with T=10sec and increase the number of Fourier coefficients. Observe and state the significance of increasing number of coefficients. Also provide the screenshot.

EE-232 Signals and Systems

Page 4

>> sinesum2

Pre Lab Task 2 Your task is to increase the number of harmonics to 5. Change the amplitude of these harmonics. Explain the effect of changing the number of harmonics in the sinesum demo. Also provide the screenshot.

EE-232 Signals and Systems

Page 5

1.2 1.2.1

Lab Tasks Lab Task 1: CTFS

1.2.1.1 Fourier series of a CT Sinusoid Write a function that will generate a single sinusoid 𝑥(𝑡) = 𝐴 sin(𝑤𝑡). 𝐴 = 3 and time period 𝑇 = .01. Choose an appropriate value of ‘time_increment/sampling time’ during the generation of signal. t=0:time_increment:T Determine the Fourier series coefficients and plot the magnitude and phase of the fourier series coefficients. NOTE:  For calculating the fourier series coefficients use (1).  Note that (1) involves solving an integration. Use MATLAB built in function integral() to numerically evaluate the integral. For example, for a value of 𝑘 = 4, the function will be evaluated as a = integral(@(z) 𝐴 ∗ sin((2 ∗ 𝑝𝑖/𝑇) ∗ 𝑧).*exp(-j*4*(2*pi/T)*z)/T,0,T)  Above code will return the value of the 4th CTFS coefficient. For remaining coefficients, replace 4 and follow similar procedure. You may use a loop to iterate over values of 𝑘.  Add the figures of both the time domain and frequency domain representation of the singals with appropriate axes, labels and titles. (a) function []=sher(A,T,s)

t1=0:T/s:T; y=A*sin((2*pi.*t1)./T); subplot(311); plot(t1,y,'rx') title('Signal'); for k=-s/2:s/2 a(k+s/2+1) = integral(@(t1) A*sin((2*pi/T)*t1).*exp(-1i*k*(2*pi/T).*t1)/T,0,T); end m=abs(a); p=phase(a); n=-s/2:s/2; subplot(312); stem(n,m,'kx') title('Magnitude'); subplot(313); EE-232 Signals and Systems

Page 6

stem(n,p,'bx') title('Phase'); end

1.2.1.2 Fourier Series of a CT Rectangular wave Assume a rectangular wave as shown below. Using a similar approach outlined in the previous task, obtain the CTFS representation of the rectangular wave. Plot the magnitude and phase of the fourier series coefficients with appropriate axes, labels and titles.

function []=sher(A,T,s) t1=0:T/s:2*T; y=(A/2)*square(2*pi*(1/T).*t1)+(A/2); subplot(311); plot(t,y,'r--') title('Signal'); for k=-s/2:s/2 EE-232 Signals and Systems

Page 7

a(k+s/2+1) = integral(@(t1) ((A/2).*square(2*pi*(1/T).*t1)+(A/2)).*exp(1i*k*(2*pi/T).*t1)/T,0,T); end m=abs(a); p=phase(a); n=-s/2:s/2; subplot(312); stem(n,m,'kx') title('Magnitude'); subplot(313); stem(n,p,'bx') title('Phase'); end

EE-232 Signals and Systems

Page 8

1 …………….

1.2.2

………………………. 0

1

2

3

4

5

t

Lab task 2:

1.2.2.1 Inverse CT Fourier Series Calculation For the signals in Tasks 1.2.1.1 and 1.2.1.2, reconstruct the signal using the obtained FS coefficients 𝑎𝑘 . The CT signal can be generated from the FS coefficients 𝑎𝑘 using (1). 𝑁

2𝜋

1 𝑥𝑟 (𝑡) = ∑𝑘=−𝑁 𝑎 𝑒 𝑗𝑘( 𝑇 )𝑡 1 𝑘 Choose an appropriate value of ‘time_increment/sampling time’ during the generation of complex exponential signal. Plot the reconstructed signal 𝑥𝑟 (𝑡) for 𝑁1 = 3, 10, 50 . Compare with original signal 𝑥(𝑡). (a) function []=sher(A,T,s)

t=0:T/s:T; y=A*sin((2*pi.*t)./T); subplot(221); plot(t,y,'rx') title('Sig'); for k=-s/2:s/2 a(k+s/2+1) = integral(@(t) A*sin((2*pi/T)*t).*exp(-1i*k*(2*pi/T).*t)/T,0,T); end m=abs(a); p=phase(a); n=-s/2:s/2; subplot(222); stem(n,m,'kx') title('Mag'); subplot(223); EE-232 Signals and Systems

Page 9

stem(n,p,'bx') title('Phase angle'); x=0; for k=-s/2:s/2 x=x+a(k+s/2+1).*exp((1i.*k*2*pi.*t)/T); end subplot(224) plot(t,x,'gx') title('Inverse F S'); end

(b) EE-232 Signals and Systems

Page 10

function []=sher(A,T,s) t=0:T/s:2*T; y=(A/2)*square(2*pi*(1/T).*t)+(A/2); subplot(221); plot(t,y,'r--') title('Sig'); for k=-s/2:s/2 a(k+s/2+1) = integral(@(t) ((A/2).*square(2*pi*(1/T).*t)+(A/2)).*exp(1i*k*(2*pi/T).*t)/T,0,T); end m=abs(a); p=phase(a); n=-s/2:s/2; subplot(232); stem(n,m,'kx') title('Mag'); subplot(233); stem(n,p,'bx') title('Phase'); x=0; for k=-s/2:s/2 x=x+a(k+s/2+1).*exp((1i.*k*2*pi.*t)/T); end subplot(224) plot(t,x,'g--') title('Inverse F S'); end

EE-232 Signals and Systems

Page 11

EE-232 Signals and Systems

Page 12

use of fft and ifft

MATLAB contains efficient routines for computing CTFS and DTFS. If x is an N-point vector for the period 0 ≤ n ≤ N - 1, then the DTFS of x[n]can be computed by ak=(l/N)*fft(x), where the Npoint vector a contains ak for 0 ≤ k ≤ N - 1. The function fft is simply an efficient implementation of (2) scaled by N. Thus, DTFS can by computed by typing ak=(l/N)*fft(x). The function will return both real and imaginary parts of the DTFS coefficients. Given a vector containing the DTFS coefficients ak for 0 ≤ k ≤ N - 1, the function ifft can be used to construct a vector x containing x[n] for 0 ≤ n ≤ N – 1 as x=N*ifft (a). The function ifft is an efficient realization of the DTFS synthesis equation, scaled by 1/N. 

Choose an appropriate value of ‘time_increment’ during the generation of cosine function. for n=0:time_increment:T %Generate Cosine Wave  % Hint for calculating the fourier series and displaying its real part L=length(signal); y=real(fft(signal,L))/L; stem(y); In case of the given signal t and T are being used in place of n and N because the increment between 0 and T will have small increments than 1. Using the function ‘ifft’ and knowledge of FS coefficents of a Cosine waveform determine the signal x[n]. For the lab report plot both the fourier coefficients and time domain signal. Now assuming that the DTFT was N Point DTFT or FFT. Then the fourier Series Coefficients of x[n] = cos (pi/4) n will have impulses at locations k and N-k. ωk = 2 pi k /N If ω k = pi/4 Then k = N/8 Where N is the N point DTFT or FFT. Assuming that N =1024 locations k and N-k can be calculated. So the coeff_array will be an array of size N with fourier series coefficients of a cosine waveform at locations k and N-k. %HINT y=ifft(coeff_array,N); %N is number of points in the Inverse FFT stem(real(N*y));

EE-232 Signals and Systems

Page 13

Related Documents

Lab 8
November 2019 22
Lab 8
November 2019 20
Lab 8
May 2020 12
Lab 8
June 2020 16
Lab 8
November 2019 16
8 Lab
June 2020 12

More Documents from ""

Lab 8 Matlab.docx
October 2019 10
Assignment2mps.docx
October 2019 7
November 2019 8
November 2019 14
Ximiya.pdf
November 2019 7