9 - 4 Instructions: Show procedure (if applicable). An electro-mechanical vibrat
ID: 2079066 • Letter: 9
Question
9 - 4 Instructions: Show procedure (if applicable).
An electro-mechanical vibrator is schematically shown below. The electro magnetic force induced in the mass m is F_m = alpha i and the induced voltage is e_34 = alpha v Write your own matlab program to generate the Bode plots (ie A ~ omega on log-log scale, psi omega on semi-log scale). From the plots, determine the frequency of the voltage source beyond which the amplitude of the vibrator displacement is less than 10% of that when omega is near zero. Also, determine the phase angle between the input and output at this driving frequency. Make sure you use ATAN2 function to calculate psi(omega) and the plot should be a smooth curve. If you see a jump in 2 pi in your plot, program in a correction to bring it to a smooth curve. Turn in your plots and the matlab program.Explanation / Answer
Matlab script for calculated weighted-mean and non-weighted mean phase
velocities for each sensor-pair;
clear all
load ProcessedData_19Jun7cm3cmSrcStart_11 % File name
cohThresh=0.9;
rxSpacing=[0.03, 0.03, 0.03];
setNum=1;
for setNum=1,
phaseCross(1,:)=ResultAvgDataFFT(1,:).*conj(ResultAvgDataFFT(2,:));
phaseCross(2,:)=ResultAvgDataFFT(2,:).*conj(ResultAvgDataFFT(3,:));
phaseCross(3,:)=ResultAvgDataFFT(3,:).*conj(ResultAvgDataFFT(4,:));
[chanNum,freqIndexTotal,avgNum]=size(RecordDataFFT);
for index=1:freqIndexTotal,
% Note that the Matlab 'var' command normalises by N-1.
myCrossCoh(1,index)=(1/(avgNum-
1))*(sum((RecordDataFFT(1,index,:)-
mean(RecordDataFFT(1,index,:))).*conj((RecordDataFFT(2,index,:)-
mean(RecordDataFFT(2,index,:))))))/(var(RecordDataFFT(1,index,:))*var(Rec
ordDataFFT(2,index,:)))^0.5;
myCrossCoh(2,index)=(1/(avgNum-
1))*(sum((RecordDataFFT(2,index,:)-
mean(RecordDataFFT(2,index,:))).*conj((RecordDataFFT(3,index,:)-
mean(RecordDataFFT(3,index,:))))))/(var(RecordDataFFT(2,index,:))*var(Rec
ordDataFFT(3,index,:)))^0.5;
myCrossCoh(3,index)=(1/(avgNum-
1))*(sum((RecordDataFFT(3,index,:)-
mean(RecordDataFFT(3,index,:))).*conj((RecordDataFFT(4,index,:)-
mean(RecordDataFFT(4,index,:))))))/(var(RecordDataFFT(3,index,:))*var(Rec
ordDataFFT(4,index,:)))^0.5;
end
drawthis=0;
if drawthis==1,
figure(40);
plot(Frequency, abs(myCrossCoh(1,:)),'linewidth',2);
titleH=title('Typical Normalised Coherence (1st Set with
Columns)');
xLabelH=xlabel('Frequency (Hz)');
yLabelH=ylabel('Normalised Coherence');
set(xLabelH,'FontSize',18);
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.