NTPU_EE

410687024

Robotic Final-Project

Problem: I want to make a motorcycle that run in the forest, but I don't want the path to showed, however, I cannot let the path not show in the screen.

Simulation Video:

Signals and System - Midterm project

function varargout = untitled(varargin)

% UNTITLED MATLAB code for untitled.fig

% UNTITLED, by itself, creates a new UNTITLED or raises the existing

% singleton*.

%

% H = UNTITLED returns the handle to a new UNTITLED or the handle to

% the existing singleton*.

%

% UNTITLED('CALLBACK',hObject,eventData,handles,...) calls the local

% function named CALLBACK in UNTITLED.M with the given input arguments.

%

% UNTITLED('Property','Value',...) creates a new UNTITLED or raises the

% existing singleton*. Starting from the left, property value pairs are

% applied to the GUI before untitled_OpeningFcn gets called. An

% unrecognized property name or invalid value makes property application

% stop. All inputs are passed to untitled_OpeningFcn via varargin.

%

% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one

% instance to run (singleton)".

%

% See also: GUIDE, GUIDATA, GUIHANDLES


% Edit the above text to modify the response to help untitled


% Last Modified by GUIDE v2.2 12-May-2019 10:32:33


% Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @untitled_OpeningFcn, ...

'gui_OutputFcn', @untitled_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end


if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

% End initialization code - DO NOT EDIT



% --- Executes just before untitled is made visible.

function untitled_OpeningFcn(hObject, eventdata, handles, varargin)

% This function has no output args, see OutputFcn.

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% varargin command line arguments to untitled (see VARARGIN)

[y,Fs] = audioread('copy.wav');


handles.Y = y;


guidata(hObject , handles);


handles.Fs = Fs;


guidata(hObject , handles);


handles.Player = audioplayer(y,Fs);


guidata(hObject , handles);




xlabel(handles.axes1, 'Time');


ylabel(handles.axes1, 'Magnitude');


title(handles.axes1,'Original Waveform');




xlabel(handles.axes2, 'Time');


ylabel(handles.axes2, 'Magnitude');


title(handles.axes2,'Fourier Waveform');

% Choose default command line output for untitled

handles.output = hObject;


% Update handles structure

guidata(hObject, handles);


% UIWAIT makes untitled wait for user response (see UIRESUME)

% uiwait(handles.figure1);



% --- Outputs from this function are returned to the command line.

function varargout = untitled_OutputFcn(hObject, eventdata, handles)

% varargout cell array for returning output args (see VARARGOUT);

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)


% Get default command line output from handles structure

varargout{1} = handles.output;



% --- Executes on button press in pushbutton1.

function pushbutton1_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)


a = 1.5*handles.Y;


b = handles.Fs;


handles.Fs = b;


guidata(hObject , handles);


player = audioplayer(a,b);


handles.Player = player;


guidata(hObject , handles);


time = (1:length(a))/b;


plot(handles.axes1, time, a*1.5);


grid on;


xlabel(handles.axes1, 'Time');


ylabel(handles.axes1, 'Magnitude');


title(handles.axes1,'Original Waveform');


play(player);


t = clock;


handles.t = t;


guidata(hObject , handles);


time = 248;


FT = fft(a);


a =abs(FT/time);


y2 = a(1:time/2+1);


y2(2:end-1) = 2*y2(2:end-1);


f2 = b*(0:(time/2))/time;


plot(handles.axes2, f2 , y2*1.5);


xlabel(handles.axes2, 'Time');


ylabel(handles.axes2, 'Magnitude');


title(handles.axes2,'Fourier Waveform');


% --- Executes on button press in pushbutton2.

function pushbutton2_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)


a = 0.2*handles.Y;


b = handles.Fs;


handles.Fs = b;


guidata(hObject , handles);


player = audioplayer(a,b);


handles.Player = player;


guidata(hObject , handles);


time = (1:length(a))/b;


plot(handles.axes1, time, a*0.01);


grid on;


xlabel(handles.axes1, 'Time');


ylabel(handles.axes1, 'Magnitude');


title(handles.axes1,'Original Waveform');


play(player);


t = clock;


handles.t = t;


guidata(hObject , handles);


time = 248;


FT = fft(a);


a =abs(FT/time);


y2 = a(1:time/2+1);


y2(2:end-1) = 2*y2(2:end-1);


f2 = b*(0:(time/2))/time;


plot(handles.axes2, f2 , y2*0.01);


xlabel(handles.axes2, 'Time');


ylabel(handles.axes2, 'Magnitude');


title(handles.axes2,'Fourier Waveform');

% --- Executes on button press in pushbutton3.

function pushbutton3_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)


a = handles.Y;


b = handles.Fs*0.6;


handles.Fs = b;


guidata(hObject , handles);


player = audioplayer(a,b);


handles.Player = player;


guidata(hObject , handles);


time = (1:length(a))/b*0.6;


plot(handles.axes1, time, a);


grid on;


xlabel(handles.axes1, 'Time');


ylabel(handles.axes1, 'Magnitude');


title(handles.axes1,'Original Waveform');


play(player);


t = clock;


handles.t = t;


guidata(hObject , handles);


time = 248;


FT = fft(a);


a =abs(FT/time);


y2 = a(1:time/2+1);


y2(2:end-1) = 2*y2(2:end-1);


f2 = b*(0:(time/2))/time;


plot(handles.axes2, f2*0.6 , y2);


xlabel(handles.axes2, 'Time');


ylabel(handles.axes2, 'Magnitude');


title(handles.axes2,'Fourier Waveform');



% --- Executes on button press in pushbutton4.

function pushbutton4_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton4 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)


a = handles.Y;


b = handles.Fs*1.25;


handles.Fs = b;


guidata(hObject , handles);


player = audioplayer(a,b);


handles.Player = player;


guidata(hObject , handles);


time = (1:length(a))/b*1.25;


plot(handles.axes1, time, a);


grid on;


xlabel(handles.axes1, 'Time');


ylabel(handles.axes1, 'Magnitude');


title(handles.axes1,'Original Waveform');


play(player);


t = clock;


handles.t = t;


guidata(hObject , handles);


time = 248;


FT = fft(a);


a =abs(FT/time);


y2 = a(1:time/2+1);


y2(2:end-1) = 2*y2(2:end-1);


f2 = b*(0:(time/2))/time;


plot(handles.axes2, f2*1.25 , y2);


xlabel(handles.axes2, 'Time');


ylabel(handles.axes2, 'Magnitude');


title(handles.axes2,'Fourier Waveform');



% --- Executes on button press in pushbutton5.

function pushbutton5_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)


a = handles.Y;


b = handles.Fs*2;


handles.Fs = b;


guidata(hObject , handles);


player = audioplayer(a,b);


handles.Player = player;


guidata(hObject , handles);


time = (1:length(a))/b*2;


plot(handles.axes1, time, a);


grid on;


xlabel(handles.axes1, 'Time');


ylabel(handles.axes1, 'Magnitude');


title(handles.axes1,'Original Waveform');


play(player);


t = clock;


handles.t = t;


guidata(hObject , handles);


time = 248;


FT = fft(a);


a =abs(FT/time);


y2 = a(1:time/2+1);


y2(2:end-1) = 2*y2(2:end-1);


f2 = b*(0:(time/2))/time;


plot(handles.axes2, f2*2 , y2);


xlabel(handles.axes2, 'Time');


ylabel(handles.axes2, 'Magnitude');


title(handles.axes2,'Fourier Waveform of music');



% --- Executes on button press in pushbutton6.

function pushbutton6_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)


a = handles.Y;


b = handles.Fs*2;


handles.Fs = b;


guidata(hObject , handles);


player = audioplayer(a,b);


handles.Player = player;


guidata(hObject , handles);


time = (1:length(a))/b*2;


plot(handles.axes1, time, a);


grid on;


xlabel(handles.axes1, 'Time');


ylabel(handles.axes1, 'Magnitude');


title(handles.axes1,'Original Waveform');


play(player);


t = clock;


handles.t = t;


guidata(hObject , handles);


time = 248;


FT = fft(a);


a =abs(FT/time);


y2 = a(1:time/2+1);


y2(2:end-1) = 2*y2(2:end-1);


f2 = b*(0:(time/2))/time;


plot(handles.axes2, f2*2 , y2);


xlabel(handles.axes2, 'Time');


ylabel(handles.axes2, 'Magnitude');


title(handles.axes2,'Fourier Waveform of music');



% --- Executes on button press in pushbutton7.

function pushbutton7_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)


[y , Fs] = audioread('copy.wav');


handles.Y = y;


guidata(hObject , handles);


handles.Fs = Fs;


guidata(hObject , handles);


handles.Player = audioplayer(y,Fs);


guidata(hObject , handles);


player = handles.Player;


a = handles.Y;


b = handles.Fs;


time = (1:length(a))/b;


plot(handles.axes1, time, a);


grid on;


xlabel(handles.axes1, 'Time');


ylabel(handles.axes1, 'Magnitude');


title(handles.axes1,'Original Waveform');


play(player);


t = clock;


handles.t = t;


guidata(hObject , handles);


time = 248;


FT = fft(a);


a =abs(FT/time);


y2 = a(1:time/2+1);


y2(2:end-1) = 2*y2(2:end-1);


f2 = Fs*(0:(time/2))/time;


plot(handles.axes2, f2 , y2);


xlabel(handles.axes2, 'Time');


ylabel(handles.axes2, 'Magnitude');


title(handles.axes2,'Fourier Waveform');


reset player;


% --- Executes on button press in pushbutton8.

function pushbutton8_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA

%clear sound;

player = handles.Player;


plot(handles.axes1, 0,0);


grid on;


xlabel(handles.axes1, 'Time');


ylabel(handles.axes1, 'Magnitude');


title(handles.axes1,'Original Waveform');


plot(handles.axes2, 0,0);


xlabel(handles.axes2, 'Time');


ylabel(handles.axes2, 'Magnitude');


title(handles.axes2,'Fourier Waveform');


stop(player);






% --- Executes during object creation, after setting all properties.

function axes1_CreateFcn(hObject, eventdata, handles)

% hObject handle to axes1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called


% Hint: place code in OpeningFcn to populate axes1