- 48
- 319 897
Mike Holden
Приєднався 7 лис 2006
Stuff I make. Similar things at www.holdentechnology.com
I have an academic channel for my COVID coursework: Professor Holden (see link below)
I have an academic channel for my COVID coursework: Professor Holden (see link below)
wingfoil sherman island June 2023
Nice day in the delta. 3.0m wing #insta360 #flymount
Переглядів: 252
Відео
Sherman Island May 25 2023
Переглядів 136Рік тому
Windy day at sherman island in the California delta. Wingfoiling with my new #insta360 X3 and #flymount #wingfoil
N4N1 the autonomous sailboat circumnavigates the @saildrone Surveyor
Переглядів 3 тис.3 роки тому
Small autonomous sailboat using ardupilot goes around the moored @saildrone Surveyor in Alameda.
Voice Control of Autonomous Vessels
Переглядів 3153 роки тому
Can you direct an autonomous boat using just your voice? Using the Vosk voice recognition software and the ardupilot simulator lets give it a try.
Automatic Chicken Coop Door Arduino Project
Переглядів 1,1 тис.3 роки тому
A very simple battery operated chicken coop door opener and closer. For more info check out the build at: www.holdentechnology.com/2021/09/21/super-simple-automatic-chicken-coop-door/
Beginner Wing Foiling
Переглядів 1033 роки тому
Wing Foiling at Sherman Island, end of my first summer learning this sport. I make one jibe and miss one jibe, which is about my average for now. It has taken some time away from robot boats, but fun!
N4N1 the autonomous sailboat drone sails on a windy day.
Переглядів 3463 роки тому
Testing in the harbor on a windy day. Autonomous sailing around the waypoints with an Ardupilot based drone sailboat. (details at www.holdentechnology.com/2021/10/10/n4n1-the-autonomous-sailboat/)
N4N1 sails the bay part 1
Переглядів 2993 роки тому
This is a test of an autonomous drone sailboat (named N4N1) using the ardupilot software. Gets around the waypoints very well, would like to improve the tacks. More to come I hope! Testing at Richmond Yacht Club harbor on San Francisco bay. Watch the end for an inside look at what is used to make the boat work. More details at www.holdentechnology.com/2021/10/10/n4n1-the-autonomous-sailboat/ RY...
Drone sailboat test
Переглядів 4833 роки тому
Ardupilot autonomous drone sailboat test. Testing the windvane sail trim on a gusty day in the backyard. The capsize broke the windvane base... More at www.holdentechnology.com/2021/10/10/n4n1-the-autonomous-sailboat/
Using mobile cell phone hotspot with ardupilot flight controller
Переглядів 8 тис.3 роки тому
How to connect your ardupilot to the groundstation using a mobile internet (4G LTE etc) connection. Read instead of watch here: www.holdentechnology.com/2020/12/31/ardupilot-with-mobile-data-telemetry/ ngrok is the tunneling tool to mavproxy on the raspberry pi I used a Pixhawk flight controller but any ardupilot controller should work. For the hardware setup you can see this video by Drone Doj...
Autonomous Sailboat Simulation. Uses mission planner and SITL to simulate ardupilot sailboat.
Переглядів 6 тис.4 роки тому
Ardupilot autonomous sailboat simulated with Mission Planner ground control software. Shows simulation startup, mission plan creation, fence and crosstrack used for tacking, changing simulated wind direction and other parameters. Screen capture so looks best on a big screen. Try it and let me know what happens! Get mission planner here: ardupilot.org/planner/ More about the ardupilot autopilot ...
fft with excel (link to newer version in description)
Переглядів 122 тис.8 років тому
fft with excel (link to newer version in description)
Marconi Center Tomales Bay California
Переглядів 1058 років тому
Marconi Center Tomales Bay California
Thank u sir.
Professor Holden, I just viewed FFT in Excel for spectral analysis and really enjoyed it. I'm hoping you'll be able to help me with one problem. I use it on an Excel file with a 60 Hz wave with a significant 5th harmonic. The data was sampled at 100 kHz. One cycle of 60 Hz was displayed. I want to perform an FFT, but of course, there are 1,064 rows of data. The time domain plot shows a 1.2 A peak and a -1.2 A peak. The frequency domain plot shows a peak of 465 at 0 and 135 at 293 Hz. I have to be doing something incorrect. The sampling rate is more than needed for looking at 300 Hz. There should be no aliasing. Is there some guidance you can provide me?
A large value at 0 Hz is probably a DC bias, where your average value in the time domain is not zero. Does your signal have that? I think of 0 Hz as a constant in the fourier series
Great video
Works great. Thanks
I love you ! your VOD just save my life !!! THX THX THX
5:30
Hi. Im interested in building and programming an autonamous sailboat of my own. I'm wondering what kind of board you have running and i'd be very interested to see what other sensors you have onboard
Hi! I have a writeup here with those details: www.holdentechnology.com/2021/10/10/n4n1-the-autonomous-sailboat/
It Is only a Fourier transform example not FFt. Anyway Is a goog video.
Is the frequency for FFT's or function's?
Thanks!
You could get the habit to move aside the cursor of the mouse when typing in. Seeing things really help. Good video though.
Thank you sir ! This was extremely helpful for my Phd research.
I wanna ask something, if you dont mind, can you help me to analize a sin wave with a distortion, I just confused how to analize, what data I can produce from a sine waveform, this all regarding my thesis for master degree, maybe you can help me pls
I don't understand your question, can you be more specific?
@@meholden So I have a sin wave voltage and has a distortion because of load changeover from source A to source B, then now I wanna analize this sin wave with fourier tranform.
@@meholden I cant understand how to use Fourier Transform just by see a Sinusoidal Waveform. I dont understand how to calculate it.
@@meholden If I can, I wanna show my sin wave
@@ronaldungguldonboscopribad5021 What information are you looking to find from the FFT analysis? Have you tried the FFT on your data? Did it work? I don't know if you are asking for help doing the transform or analyzing the results or something else entirely.
Hi! Thanks for sharing this video. It is easy to understand. I wonder what if my data points are not in power 2. Now, I just add more 0 until the data points are power 2. But what about the frequency calculation. Should I use N only for my real data points (not include 0 data point)?
The FFT requires a power of 2 for the sample size, but there are other DFT algorithms that do not, they are just not as efficient computationally but this may not matter depending on your application. If you pad with 0 to get N points for the FFT keep using the N with the zeros I think
hello sir, sorry I'm new in FFT analysis, what is y axis unit? I knew that x axis is Hertz
Nice
Im kind of confused by a practical application that doesnt involve Hz. I have, for example, midday temperature data for every day throughout a 365 day year. My sampling frequency is 1/365, correct? My FFT must be done on a dataset that has a power of 2 samples, so I pick 256. Presumably I can model the entire year with this truncated dataset, though?! Of the coefficients that are generated, the 129th is the last before it repeats in reverse. What frequencies are represented? And how does the sampling theorem limit my results? And why am I getting a coefficient at the 0 Hz value that is orders of magnitude larger than the average of the dataset?
The 0 Hz coefficient is the constant value (0 Hz signal is DC or constant), and as pinned below, convert the amplitude in the FFT to the amplitude of the sine wave by multiplying by 2/N. If you have a daily sample your sampling frequency is 1 sample per day, or 365 samples per year, or 1/(3600*24) samples per second (Hz). The period is 1/365 years per sample. The sampling theorem says that you must sample at a rate of at least 2x the highest frequency you are interested in results about, so at once a day you could predict weekly things but not daily using an FFT.
@@meholden But if Im sampling once a day then my resolution should be half a day, according to what you jsut said. Yes? Twice the highest frequency Im interested in resolving. Is N the number of samples put to the FFT, not the overall dataset. Shouldnt the period have something to do with the 2^n subsample, and not the size of the actual dataset? I guess my confusion is in the scaling. I dont know what frequencies my coefficients correspond to. And I didnt know how to scale the coefficients down; thanks for that. Im using a 256 subsample. This is then 256/365th of a year, and each sample represents 1 day. Do I get a resolution of 2 days in my results or 1/2 day?
@@leesweets4110 if you want to know about daily events you need to sample at least 2x a day to avoid aliasing, and for practical purposes it will be better at 20x a day. You can see my other channel's pandemic shutdown lecture videos (sampling theorem: ua-cam.com/video/hBPFmusk4kk/v-deo.html) and frequency content (ua-cam.com/video/exikMatsrj4/v-deo.html) or probably a lot of other videos for background info
Does the sailboat take into account lifts or headers? I noticed that the wind angle is linear, but didn't see if the xtrack could be dynamically adjusted if, say you are in a major header heading away from the waypoint (weather mark) and the boat should tack at that point. And then as you get closer to the mark, the shifts are ignored as its more of a priority to get to the mark.
It does follow the wind so will turn for lifts and headers. It does not choose to tack based on them (as I understand the algorithm anyway)- tacks are called by either a timer, a cross-track distance, geofence, or if you make the layline. So it just carries on with whatever tack it is on until it is time to tack (at XX seconds since last tack or YY meters from the rhumb line or because you made the layline). It follows shifts but does not "play" them as a racer would (again as I understand the algorithm).
Thanks for sharing the great video, Prof. After watch it, that also made me thinking deeper to an another question. At 1:15 You made the g(t)= Cos(wt)=[2*pi*f*t], and the f=1Hz. That's the main reason that your FFT at frequency domain is peak at 1Hz 7:35, right? The reason that we do this analysis is to learn what frequency component we have in the waveform. If you use f=1Hz at the beginning of the analysis, that made the analysis simple. In a more complicated situation, say that the fundamental frequency is 10MHz but there is harmonics there, how should I perform the analysis using g(t)?
What's the dimensions! Seems like a winner!
Sir you can use 4G Hat for raspberry pi and insert sim card into it. Then you can use internet after that no range issue came. You can also use own private vps on raspberry pie because you have internet on raspberry pie. My suggestion i hope you like it😊
Fantastic! That was a lot of fun to watch. Thanks for posting the video and sharing how you setup the course.
Ok so much better then paying a subscription, hope it still works. If you connect a camera to the pi will it stream the video with same setup? Thanks in advance
Wonderful lecture, thank you so much!!!
couldn't stand it when your cursor is always in the way! blocking the view of what's being done, it's frustrating when struggling to see what's behind the cursor! good video but please pay attention to that in your next video.
Hello, thank you so much for the demonstration. I just can't understand why the FFT must be used with a sampling number at power 2. Can someone explain me this please ? :)
Sorry I can't explain the math behind that. But there are DFT algorithms that do not require this, they are just more computationally intensive. The Fast part of FFT requires the power of 2 sample size as I understand it.
Dont know the math either but because of bit operations (0's and 1's)...
This is awesome. What are some great entry points to the topic if I wanted to build and program my own autonomous sailboat?
I would get an RC model sailboat, then add ardupilot: ardupilot.org/rover/docs/sailboat-home.html That is still a pretty big project and you must enjoy fiddling with electronics.
*Simulateur afficheurs cristaux liquide très pratique! Merci.*
What parts would I need to be able to do this?
There is some info about the original build at my web site www.holdentechnology.com and you can also check out www.ardupilot.org for the autopilot info
@@meholden thanks mate!
Thank you.
Many have asked, why not only the frequency 1 Hz is present in the spectrum, and the answer were also given. Nevertheless just an addition for easier understanding: The time steps were selected to be 0.1s and the number of samples were 32. So, that means, you will have 3 complete cycles of the cosign function by the 30th sample, and than you have 2 more samples (or points) which actually mess up a little bit the nice complete function. So, when you repeat the data set - that is you continue the sequence with he first sample -, you actually have a "glitch" and the transition will not be smooth. This is why additional frequencies appear (the function whose spectrum was calculated here is actually not a pure cosign function in the time domain). If you want a smooth match between the start and the end of the period, the sampling frequency needs to be matched with the number of samples. In this case for example 8Hz instead of 10Hz (time step 0.125s instead of 0.1s), than it will really be a cosign function, and there will be only one value at 1Hz in the spectrum, all other frequencies will be zero.
Good point, thanks.
Really helped me .... thanks a lot man.....if you have time....need your insights on sensor modification like adding proximity, custom imu and so on in ardusub firmware
Could you explain why the Amplitude of FFT ist not 1(because cos)?
See the pinned comment
which pixhawk version are you using ?
I think it's a generic pixhawk 2.4.6 or 2.4.8, running ardupilot 3.5 originally but have kept the firmware upgraded to the latest over the years.
Awesome!
👍
what is the unit of FFT magnitude (mG) which is calculated in your video ?
See the pinned question, I should have included it in the video but maybe next time! You can convert the amplitude in the FFT to the amplitude of the sine wave by multiplying by 2/N, so the units by default are the same as your input function but with a factor of N/2 scaling them.
@@meholden no, i mean the true units. Is it use volt for the units? Is it yes, maybe you know how to change the unit to joule/Hz?
@@PokiEdu After you fix the scaling by multiplying by 2/N , the units are the same as your time-domain samples. If you measure volts then volts, if you measured acceleration then acceleration, whatever the units are in the original data will stay with the FFT magnitude. Is your data in joules? If so then you get an amplitude of joules at each frequency (in Hz).
@@meholden aahh i see, thanks so much for the explanation, im still confused what is the difference between power spectral density (PSD) and FFT spectral analysis in your video ? are they same for some reason ? because i found the difference equation in imabs calculation section in your video compare to this video ( ua-cam.com/video/UjM2XU_h5Ew/v-deo.html ) which have the equation for PSD is " PSD = abs (FFT)*^2/Ns " ,, im so thankfully for your kind to explain about this prof, thanks
When I try to use the fourier analysis on my percentage data it gives me the "The number of input values must be a power of two for example 2,4,8, 16... some of my data is odd number ie' 7%. 3 % ... Can this still be used on my percentage data or not?
It's the number of samples that must be a power of two, the samples can be any value. In this video the number of samples (I call it N) is 32. If I misunderstood the question please follow up and thanks for watching!
I tried the number of data 32 but still can not
great, thanks :)
This is great, thanks.
this was a wonderful video, very streamlined and to the point. Thank you :D
Very impressive indeed. I love to sail my DF95 and always wanted to identify speed so I could manually adjust tack with radio and get her to scream. Much simpiler then what you are doing. Any ideas how that may be accomplished?
You could use the yaapu telemetry setup-- you would need a flight controller and GPS, and a RC transmitter that runs OpenTX, and a receiver that can do the telemetry passthrough. Then you would get a whole telemetry display on your transmitter without too much hassle. ardupilot.org/copter/docs/common-frsky-yaapu.html You could do something simpler with just GPS but it might take more custom work. There are probably other methods that I don't know about too. Thanks for watching!
How can I get a natural frequency from the FFT graph?
A huge Merci (:
Hi, putting something together for a friend using ardupilot, i have it working on the bench, do you have any tips? Unfortunately I don't have any rudder position feedback hoping not to need it.
Rudder position definitely makes things easier. Are you using ardupilot as an autopilot with the operator on the boat? The interface is pretty clumsy for this I think if you try to do a common autopilot task like turn 10 degrees (most autopilots would have a dedicated button for this but mission planner is much higher-level). Certainly possible and endless customization options. Have you looked into PyPilot?
@@meholden will probably just use the transmitter doubt it will be used for long periods (doing it for a friend) mostly just to hold heading for short periods. to get sails up etc when an extra pair of hands is useful
should deltaf have been calculated with 1/(N-1)xdt rather than 1/nxdt? In your example, Nxdt = 3.2s but you only have data for 3.1s. I ask because I have seen a recommendation elsewhere to use f = k(total time).
I have a couple questions with a bit of context as necessary: I’m a software developer and I could make a relatively calm and deliberate instruction video on a setup I’ve just completed and know the outcome with near certainty, but if I was filming the first attempt it would be a very different outcome. There’d be rapid mood swings, curse words, name calling, moments of joy and happiness, in no particular order. How about yourself? I feel like I could be stating the obvious here, but I think you could have ratcheted up the coolness factor of this video and your project with a small but important addition. I think you might be more of the traditional (nothing wrong with that) back end developer that will architect an entire platform, write some scripts to get all the parts hooked up, build the data schemas and tables, basically the hard/skilled labor part, and then switch to optimization. Then some kid comes along, one that doesn’t know how to spell schema and shows up late with a Starbucks cup in hand every day, adds some massive front end javascript framework package on top of your app. Within a day the office is buzzing with excitement about the new app that you built, with a flash UI on the front end. But nobody seems to think you had anything.to do with it. That very well could be desired, but a little recognition every now and then keeps things interesting. That got a bit long winded, but what I am trying to say is if you added FPV video streaming to this setup then you’d have ladies lined up around the block waiting to take you to dinner! That may have been an exaggeration, but don’t let that distract from the point. How difficult would that be to add a live stream? Cheers. Thanks for the video
I'm not sure what to say about most of your comment, except thanks for watching. With a raspberry pi and an internet connection it is not difficult to add a live stream, although there is likely to be a lot more lag than with a direct FPV radio connection.
@@meholden I regret the rambling because it fell well short of providing the context to support my message. I don't think the 4G hotspot solution would cut it for drone racing, but it would sure be entertaining to be able to get a birds eye view of any place with a cell phone signal without leaving your couch. I've heard the new Microsoft flight sim in VR can almost provide that experience, but the latency difference is like 100ms with 4G and maybe a couple years with flight sim?
Cuter and apparently faster too.
How to get the phase of the signal in excel? I have tried FFT on an example sinusoidal in excel, FFT gives back correctly the frequency and the amplitude, but the phase doesn't seem right for me. I've just used =IMARGUMENT("FFT result at the desired frequency" ) but it didn't give back the correct value.
A huge thank you!! - that was what I needed to start the everything correct!