Question

This is a MATLAB Question. Below is my base code for a Fourier Series of a half triangle wave.

clear all; close all; T = 1; % Total time fs = 256; % Assumed sample frequency N = fs*T; % Calculate number of points t = (1:

So I am being asked to isolate the first 8 components so that only those first 8 components of the half triangle function are calculated by MATLAB fft function, and then afterwards I am asked to do the same thing but with the first 20 components rather than the first 8. How do I isolate the first x number of components so that only those are calculated by the MATLAB fft routine?? And can you show me the codes for #1-2 and #1-3 so that I can see this pattern, and can you explain HOW you do it so that I understand?? Im a beginner to coding so this is very hard for me.

Assignment #1-2 (20 pts): Write a script such that (1) the first 8 components of the Fourier series of the half-triangle func

0 0
Add a comment Improve this question Transcribed image text
Answer #1

Explanation:

Code:

clc;
clear all;
close all;
T = 1; % Total time
fs = 256; % Assumed Sample Frequency
N = fs*T; % Calculate Number of points
t = (1:N)*T/N; % Generate Time vector
f = (1:N)*fs/N; % Frequency vector for plotting
x = [t(1:N/2) zeros(1,N/2)]; % Generate the signal
figure,
plot(t,x);
Xf = fft(x); % Take Fourier Transform, scale
Mag = abs(Xf(2:end))/(N/2); % and remove first point (DC value)
Phase = -angle(Xf(2:end))*(360/(2*pi));
figure,
plot(f(1:8),Mag(1:8),'.k','MarkerSize',6); hold on;
xlabel('Frequency (Hz)','FontSize',14);
ylabel('|X(f)|','FontSize',14);
title('First 8 point Magnitude');
figure,
plot(f(1:8),Phase(1:8),'.k','MarkerSize',6); hold on;
xlabel('Frequency (Hz)','FontSize',14);
ylabel('Phase of X(f)','FontSize',14);
title('First 8 Point Phase');
figure,
plot(f(1:20),Mag(1:20),'.k','MarkerSize',12); hold on; % Plot magnitude only lower frequencies
xlabel('Frequency (Hz)','FontSize',14);
ylabel('|X(f)|','FontSize',14);
title('First 20 Point Magnitude');
figure,
plot(f(1:20),Phase(1:20),'.k','MarkerSize',12); hold on;
xlabel('Frequency (Hz)','FontSize',14);
ylabel('Phase of X(f)','FontSize',14);
title('First 20 Point Phase');

SCREENSHOT OF THE CODE:

1 4 5 6 7 8 9 10 11 12 15 16 17 clc; clear all; close all; T = 1; % Total time fs = 256; % Assumed Sample Frequency N = fs T;

OUTPUT:

0.5 0.4 0.3

For the first 8 Point Magnitude:

First 8 point Magnitude 0.25 TTTTTT 0.15 X(f) 0.1 - 0.05 Frequency (Hz)

For the First 8 point Phase:

First 8 Point Phase Phase of X(f) Frequency (Hz)

For the First 20 Magnitude:

First 20 Point Magnitude 0.15 |(3)x 0.1 0.05 Frequency (Hz)

For the First 20 point Phase:

First 20 Point Phase Phase of X(f) . 79 Frequency (Hz)

Thank you.

Add a comment
Know the answer?
Add Answer to:
This is a MATLAB Question. Below is my base code for a Fourier Series of a...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • MATLAB code for a double pendulum. Please explain each lines for these codes pls. -------------------------------------...

    MATLAB code for a double pendulum. Please explain each lines for these codes pls. ---------------------------------------------------------------------------- clc close all clear all %---------Parameters------------------------------------------------------ L1=1; L2=1 ; M_1=2 ; M_2=1; G=9.8; %---------initial condition----------------------------------------------- tspan=30; theta1=3; theta1_prime=0; theta2=2.5; theta2_prime=0; y0=[theta1 theta1_prime theta2 theta2_prime]; [t,y]=ode45(@pend, [0 ,tspan],[ 3 0 2 0]); %---position of mass 1 and mass 2---------------------------------------- x1=L1*sin(y(:,1)); y1=-L1*cos(y(:,1)); x2=L1*sin(y(:,1))+l2*sin(y(:,3)); y2=-L1*cos(y(:,1))-l2*cos(y(:,3)); %------visualizing the result--------------------------------------------- figure(1) plot(x1,y1,'linewidth',2) hold on plot(x2,y2,'r','linewidth',2) h=gca; get(h,'fontSize') set(h,'fontSize',14) xlabel('X','fontSize',14); ylabel('Y','fontSize',14); title('Chaotic Double Pendulum','fontsize',14) fh = figure(1); set(fh, 'color', 'white'); figure(2)...

  • Part 1: Exponential Fourier series The following MATLAB code calculates the exponential Fourier series coefficient for...

    Part 1: Exponential Fourier series The following MATLAB code calculates the exponential Fourier series coefficient for the signal x(t) shown in the figure below, plots it's double sided amplitude spectrum IDn l, double sided phase spectrem LDn, and the resulting signal xn(t). 4r 4a Periodic signal x(t) 1.1 Show that the complex Fourier Series Coefficients written as: D 1.2 Use the following Matlab to general the two sided spectral line. 1.3 Execute the Matlab code with To = 2π and...

  • ** INCLUDE MATLAB CODE ** Use MATLAB® to implement and plot the discrete fourier transform (DFT)...

    ** INCLUDE MATLAB CODE ** Use MATLAB® to implement and plot the discrete fourier transform (DFT) for the following waveform: x(t) = 5 + 2cos(2*pi*t – pi/2) + 3cos(2*pi*4*t)

  • MATLAB ONLY MATLAB ONLY MATLAB ONLY MATLAB ONLY MATLAB ONLY MATLAB ONLY MATLAB ONLY MATLAB ONLY....... Project V: Fourier Based System Modeling The last project in the class involves the modeling of a...

    MATLAB ONLY MATLAB ONLY MATLAB ONLY MATLAB ONLY MATLAB ONLY MATLAB ONLY MATLAB ONLY MATLAB ONLY....... Project V: Fourier Based System Modeling The last project in the class involves the modeling of a position control system, with a variety of fcedback control gains with a periodic input. The basic model of a motor, and control system are laid out in Appendix A. This system is meant to control the shaft position of a motor. 0. Coding and Plotting a) Coding...

  • Use MATLAB to solve this question: Lab Exercises: Fourier Series Coefficients 4 In this lab, the...

    Use MATLAB to solve this question: Lab Exercises: Fourier Series Coefficients 4 In this lab, the objective is to create a set of functions that will enable us to do the following 1. Evaluate the Fourier Series coefficients for the following periodic signal which is defined over one period to be rt)240sin (100nt) for 0ts 1/100 (6) The period is 1/100 seconds. This signal is called a full-wave rectified sinusoid, because it contains only the positive lobe of the sinusoidal...

  • please show MATLAB code with results please MATLAB Provide printouts of the program and results where...

    please show MATLAB code with results please MATLAB Provide printouts of the program and results where you calculated the Fourier transform of the following: Each student will substitute the last two numbers from their student ID number for the letter "a" ult-a) Wribc an ID nunber 6(t+a) rect(t/a) (a/n)(sinc(at/n) expljat) cos(at) sin(at)u(t) See the attached examples Fourier Page 1 of Fourier Transform syms t w f-cos (2 *pi*t) ; fourier (f,w) ADe 2 Fourier Page 1 of Foutier Transform syms...

  • Please send the Matlab code 2. Compute the Fourier series coefficients for x(t) using MATLAB and...

    Please send the Matlab code 2. Compute the Fourier series coefficients for x(t) using MATLAB and plot the double-sided spectra up to the 10th harmonic. (20 points) 수 x(t) -10 10 20 30

  • Please help by writing a MATLAB Code for the this lab Fourier Series Synthesis You will...

    Please help by writing a MATLAB Code for the this lab Fourier Series Synthesis You will consider five continuous-time signals 1- 2- for A D 4- We were unable to transcribe this imageWe were unable to transcribe this imager(t) e-t for-1 < t > 1 x(t) 2 2 4 3 3 x(t) -4 2 2 4 2 1, 0sts be a periodic signal with fundamental period T = 2 and Fourier coefficients ak. (a) Determine the value of ao (b)...

  • Generating a square wave This function approximates a square wave by summing a series of sinusoid...

    Generating a square wave This function approximates a square wave by summing a series of sinusoidal functions of various frequencies and amplitudes square n MATLAB write a function that allows the user to choose the number of terms used to approximate the square wave, i.e. input the value of k. Your function should plot the resulting square wave, show the value used for k in the title (note k needs to be converted to a string data type), and plot...

  • write comments for each line of the matlab code and explain . I need explanation in...

    write comments for each line of the matlab code and explain . I need explanation in each line clear all; close all; load nb2_noise_data.mat; fs = 1000; N = 256; fl1 = 170; fh1 = 230; fl2 = 370; fh2 = 430; f = [0, fl1, fl1, fh1, fh1, fl2, fl2, fh2, fh2, fs/2] /(fs/2); G = [0, 0 ,1 , 1 , 0, 0, 1, 1, 0 , 0 ]; figure; plot(f*(fs/2),G); [b,a] = yulewalk(12,f,G); X = filtfilt(b,a,x); f...

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT