Is there any way to get positional data of the moving object, not just distance? Would this require multiple Rx antennas so that some kind of triangulation could be performed with the multiple range measurements?
@TechSponsorTV3 күн бұрын
Yes, the most popular method is to use multiple Rx antennas with phase monopulse method. E.g., two Rx antennas spaced one-wavelength apart can be used for unambiguous angle measurements in -30 to +30 degrees range or maxAng=2*Arcsin(lambda/(2*d))=60 when d=lambda. This will provide angle PHI to the target. And the distance R is measured using FMCW, FSK, Multiple-frequency FSK (MFSK). Then we can obtain target 2D coordinates as x=R*Sin(PHI); y=R*Cos(PHI). Here is how it works for FMCW: Single Tx antenna emits microwave signal with frequency jumping between F1 and F2 at 100kHz, which also limits unambiguous range measurement to maxDist=C/(2*(F2-F1)). Signal bumps into some target travelling at speed V and reflects with some Doppler shift. This reflected signal will be received by both antennas Rx1 and Rx2. If target is on the left, then Rx1 receives signal a little earlier than Rx2, and exact target angular position can be calculated from phase difference between receiving mixer outputs of antennas Rx1 and Rx2. Note that mixer outputs will provide crazy meandered FSK signal at 100kHz, and before working with it one more thing should be done. Older radars used sample-and-hold circuit that switched at 100kHz (or something like that) to separate received signal to two non-meandered signals. Newer radars simply use ADC working at 100kHz and synchronized with FSK transmitter switching time. ADC sampling frequency can have an additional offset dt=0.5*1/100kHz in time to ensure that we do not sample the part during frequency transition. If each receiving antenna has a single-ended mixer, then down-converted signals Rx1 and Rx2 will be transformed to Rx1_F1, Rx1_F2 and Rx2_F1, Rx2_F2. If there are quadrature (IQ) mixers, then we will have Rx1_F1_I, Rx1_F1_Q, Rx1_F2_I, Rx1_F1_Q and Rx2_F1_I, Rx2_F1_Q, Rx2_F2_I, Rx2_F1_Q. Next step is to perform FFT. We can perform FFT on single antenna signals to find a distance. E.g., we can take FFT(Rx1_F1), find peak spectrum_Rx1_F1[N] with maximum amplitude. And find distance to the target from phase difference (phase(spectrum_Rx1_F1[N])-phase(spectrum_Rx1_F2[N])). Phase is found using ATAN2 function on bin [N] of complex spectrum. We can find the same distance using data from second antenna Rx2, perform averaging, etc. Next step is to find angle to the target: Now we compare phases of spectrum_Rx1_F1[N] and spectrum_Rx2_F1[N] (signal that was extracted for F1 frequency). The same angle can be found using spectrum_Rx1_F2[N] and spectrum_Rx2_F2[N]. Again, it may be beneficial to use all available data to find this angular value multiple ways and then perform averaging or something like that. If we have multiple targets with close speeds, then we will start observing various glitches: e.g., if FFT amplitude peaks spectrum_Rx1_F1[N1] spectrum_Rx1_F1[N2] are close, but targets angular positions or distances are very different, we will start to observe "averaged" ghost targets that are traveling somewhere in-between. That's why both FMCW and FSK are often replaced with Multiple-frequency FSK in many modern automotive radars. Here is another example that is easier to understand. An obscure method is to use two FSK radars placed at some distance apart. We can measure distance to the same target using two different radars: R1 and R2. If we draw two circles, one with radius R1 with center at (X1, Y1) and another with radius R2 with center at (X2, Y2), then these circles will intersect at target position. There may be multiple intersections, and detection performance can be somewhat optimized by increasing number of radars and their position. Because we also know radiation pattern of each radar, we can filter out circle intersections that occur behind the radar. About method from this video: it uses purely unmodulated radar with a single antenna. While very limited, it provides shockingly good results if targets have straight trajectories and constant speeds (or if there is a known model of target movement, that can be written as a formula to use for spectrogram pattern matching). Georgy M.
@trevinsmall3 күн бұрын
How does the direction of polarization impact the radar’s measurements? Is the needed polarization direction determined by the application?
@TechSponsorTV3 күн бұрын
If we are going to measure relatively large objects like cars, most of the time there is no difference. But in some scenarios, geometrical features of objects can reflect vertical-polarized waves better than horizontal-polarized. E.g., some objects can act as parallel-plate waveguide, a giant "antenna". It can be a good thing if we want to see "behind" the target if signal was "guided" under the target (vehicle). Cons: we can have some strong unwanted reflections, signal modulated by vibrating/moving parts multiple times, etc. Very good but complex and expensive solution is to use a fully-polarimetric radar with reconfigurable beamwidth and active beam scanning. I.e., radar which is capable of transmitting horizontal, vertical or even circular polarized waveforms, and analyze how polarization changed after being reflected by the target. This answer probably not very useful, so here is some thoughts based on my practical experience: I have some favorite antenna configuration, currently it's an inline series-fed metamaterial antenna. If I need a wide-band security radar antenna with very wide beam in horizontal direction and very narrow beam in vertical direction, then I am limited to vertical polarization, or I need to design some other antenna (which I don't want to, or don't have time to, or tried and it's not as robust in terms of bandwidth, etc..). I can't simply rotate this antenna (need to meander a feeding line, which will affect bandwidth, etc.). Thus, I will look into polarization only if there are some very important advantages. During the years only two real-life applications regarding polarization catched my attention: first one is very noticeable difference in reflected signal amplitude from power line cables (vertical vs horizontal). And the second one is polarization change during each reflection of circularly polarized wave (e.g., LHCP becomes RHCP after reflection and you can deduce if signal was reflected odd/even number of times by using two receiving antennas: RHCP and LHCP to compare amplitude between them). And the third thing is related to beam-scanning and not polarization: if you have a giant rotating fan blades or some crazy vibrating surface it will modulate and reflect radar signal back, which will be seen as a huge interference on a FFT spectrogram. The only way to fight this is to prevent radar beam to illuminate problematic areas: e.g., if we have 3-degree beam rapidly scanning 60-degree area, it will illuminate problematic area only limited amount of time. If we have a passive 60-degree beam, it will be affected by interference all the time regardless of polarization. That's probably all I know about this. If you need more ideas - you may check papers on multipath for automotive radar and polarimetric radars for power line measurement, or even patents on these and similar topics. Georgy M.
@ShrKhAan5 күн бұрын
Very good bro !
@TechSponsorTV5 күн бұрын
I am glad that you've liked it!
@timkuligfreemusic14 күн бұрын
Thanks for using my music in your content, Tech Sponsor :)
@TechSponsorTV14 күн бұрын
People like your music!
@seanday742715 күн бұрын
Why do you not speak?
@TechSponsorTV15 күн бұрын
No special reason. This video was recorded without me speaking and then uploaded. I guess it's a history already unless I record another video. I can ever sign a song maybe. Regarding FFT the most challenging part is making fast phase and amplitude measurements. CMSIS amplitude function loses dynamic range by right shifting and ATAN2 is very slow. I have solved these problems long time ago and will release a better tutorial soon but with a twist!
@berkakarcaloglu191523 күн бұрын
looks awesome, thanks for sharing it for free, even if it's for a month
@TechSponsorTV23 күн бұрын
According to Udemy, students receive lifetime access regardless of what price they paid for it, or whether they used a coupon to enrol or not. In other words, you should be able to view the course and access any future updates anytime (for free). One month is coupon expiration date, but the course access is permanent. Hope this helps!
@EmbeddedEnigma23 күн бұрын
isnt antenna design super boring ?
@TechSponsorTV23 күн бұрын
It's kind of boring until you have a prototype. I literally had goosebumps when realized that one of my first antennas worked. It becomes really boring when I over-optimize and tune the same design again and again; that's when it becomes a nightmare!
@SawdustSoftwareSiliconChippy23 күн бұрын
@@TechSponsorTV I can agree with you on that. However, if producing a design with that (improvement, regardless of how small), that 'brings in' that weak signal, and gets that QSO, error free data, and blocks out interference, YOU KNOW, it's all been worth the tears and frustrations!
@TechSponsorTV23 күн бұрын
Get This Course for FREE (only few days left!) Link: tinyurl.com/y4fxkenb
@SawdustSoftwareSiliconChippy23 күн бұрын
Wow, great, fantastic. But Udemy won't accept a valid e_mail address. 😥 It is too good to be true, or is there a problem with Udemy account creation? 🤔
@TechSponsorTV23 күн бұрын
Is it possible that you already have an account on Udemy? The first thing I would try is to reset the password (even if I don't remember having an account).
@SawdustSoftwareSiliconChippy23 күн бұрын
@@TechSponsorTV What a surprise, you are correct! All fixed. 👍
@adegunloyerebecca2671Ай бұрын
@ThundertronicsOfficial Hello there I would like to extend an invitation for a strategic discussion focused on optimizing your Udemy course to effectively attract and enroll a larger cohort of students, positive reviews with real and active student I don't know if might be available for a brief call @YAGI TEAM W.W
@TechSponsorTVАй бұрын
Thanks for the offer! Have you thought about creating an Udemy course on this exact topic? I mean optimizing and stuff. So people can buy your information.
@adegunloyerebecca2671Ай бұрын
@@TechSponsorTV No, I work on fiverr as a freelancer I work there as a digital marketer
@adegunloyerebecca2671Ай бұрын
@@TechSponsorTV Let's work on how i can get your course promoted to get more sales on it
@TechSponsorTVАй бұрын
We are in the same boat here. I simply have no finances to pay you.
@adegunloyerebecca2671Ай бұрын
@@TechSponsorTV Did you know that after this job as being done you will have a lot of finance not that with a lot of sales
@domoledlight2 ай бұрын
whoua 😃😃😃😃😃 I am really impressed by your work I have just finish designed a stm32h750 board for future project that involve big data your video sound really promessing
@TechSponsorTV2 ай бұрын
Great 👍
@tyronetyrone26522 ай бұрын
Please share the code
@TechSponsorTV2 ай бұрын
Some time later
@takedowntheccp.5167Ай бұрын
@@TechSponsorTV we wait for you! 哈哈
@maddipatisunilchowdary44112 ай бұрын
Can you please check your inbox
@TechSponsorTV2 ай бұрын
I have received your message, hope you found someone to help with your project
@maddipatisunilchowdary44112 ай бұрын
@@TechSponsorTV not yet
@maddipatisunilchowdary44112 ай бұрын
it would be really helpful if you support
@hannanayub53602 ай бұрын
Hello, I tried running the code for 3 ADC Channels connected to 3 Photo Interrupters (High Voltage when something passes through and low Voltage when nothing obstructs its path) and used debugger to view the value of the array elements but under live expression the values do not change and remain 0.
@TechSponsorTV2 ай бұрын
A first step to troubleshoot it is to take a small wire and connect ADC input to GND or 3.3v and see if it changes. If ADC value is not changing, then second step is to check if ADC interrupts are called, e.g., by toggling GPIO led in interrupt. If ADC interrupts are not called, you can try to start small: use simplest ADC polling readout function which does not require interrupts and see if it reads ~0 for GND and ~4095 when 3.3v connected to ADC input pin. Idea is to start from simplest working code and move towards more complex design.
@hannanayub53602 ай бұрын
@@TechSponsorTV I will try using polling readout to see if it works for multichannel. I have no problem using single adc channel but whenever i switch to multiple channels I have issues. Do u mind if I can mail you?
@L2.Lagrange3 ай бұрын
Very interesting. I'm definitely going to have to look into this
@TechSponsorTV3 ай бұрын
Good! I usually using CPP program with Sciter.JS GUI to show the data, compile it using CodeBlocks and use custom simple serial port protocol to transfer waveforms to the PC. Thinking about trying Web Serial API. CubeMonitor is fast but a bit clunky, especially on large data. I also surprised that CubeMonitor did not crash even once on my system.
@L2.Lagrange3 ай бұрын
@@TechSponsorTV Yeah I also really like the concept of displaying input data like that graphically. While i'm mostly messing around with STM32 cube IDE atm and STM32 microcontrollers, it appears to be very easy to implement a small HTML server on a raspberry pi pico. It would be interesting to set up measurement data like this which could be accessed anywhere
@TechSponsorTV3 ай бұрын
One approach is to serve data through http server. Data can be fetched using JavaScript from virtual file on IP address. There are some examples which create index.html dynamically and send it through w5500 or esp8266 to web browser. The same way we can make any other data available to the browser and refresh it or fetch using more recent json approaches. It can even work on mobile browser. EDIT: forgot to add that data then can be displayed using HTML5 canvas
@maddipatisunilchowdary44113 ай бұрын
Hello! I need your help in doing my project regarding a three-phase inverter using an STM32 controller. Can you please your email will talk about all the details?
@TechSponsorTV3 ай бұрын
I haven't received any emails, please reply here and let me know if you sent anything so I can check - maybe there are some mail delivery problem on my side
@maddipatisunilchowdary44113 ай бұрын
@@TechSponsorTV If you still didn't receive my email please let me know
@maddipatisunilchowdary44113 ай бұрын
@@TechSponsorTV Just now i have sent an email
@maddipatisunilchowdary44113 ай бұрын
Can you please reply to my email
@TechSponsorTV2 ай бұрын
Hey, sorry with the late reply! Unfortunately, I can't help you now. I am swamped with my business and competition. Hope you can find someone on upwork maybe or something like that
@aymenbennia29513 ай бұрын
hello sir thank u for this amazing video ,i just wanna ask u if is it the same with stm32f4 ?
@TechSponsorTV3 ай бұрын
for stm32f4 some names are different, here is an example for stm32f4: www.thundertronics.com/STM32CubeIDE/Using_CMSIS_DSP_library.html
@aymenbennia29513 ай бұрын
@@TechSponsorTV hi sir, i couldnt follow the steps because im using cubemx with the kiel instead of IDE,i hope u can help me
@TechSponsorTV3 ай бұрын
Have you tried this? stm32f4-discovery.net/2014/10/stm32f4-fft-example/ It's pretty old though
@aymenbennia29513 ай бұрын
@@TechSponsorTV thanks a lot for your help , i have decided to use cube IDE , now im reading and storing sensor data in buffer so,is it the same FFT code u used i should use or there are diffrences?
@TechSponsorTV3 ай бұрын
There are two functions arm_cfft_...() And arm_cplx_mag_...() The first one calculates complex spectrum from complex input data, the second one calculates amplitude (magNITUDE) from complex spectrum. You can use your array as complex input if you interleave it with zeros. arm_cplx_mag_...() function has a design flaw: it loses precision shifting bits left after multiplication or taking a square root.. I don't know where to start, need a better tutorial or one-on-one training. There is also a "real" fft function, but it's not well designed, e.g., it should have same style as complex one, buy instead it's some bogus custom defined function. So, you have some data a[0] a[1] a[2] and so on. Make an array b[k*2]=a[k] b[k*2+1]=0. Feed array b to arm_cplx_fft function, feed output of this function to arm_cplx_mag function... keep array sizes and data types right, visualize each step output to check what's going on. If you need personalized help try reach out to [email protected]
@dmarman3 ай бұрын
you are importing CMSIS 4, that's too old
@TechSponsorTV3 ай бұрын
I think this is the version that comes with STM32 HAL libraries. FatFs version is not the latest too. If there is something interesting about newer CMSIS just let me know, I would be grateful to learn from my viewer!
@TechSponsorTV3 ай бұрын
See how this algorithm works to measure distances to vehicles here: kzfaq.info/get/bejne/r7mEe6h409_HdoE.html
@basvaningen44393 ай бұрын
Is it possible to measure distance of a static object with this radar module?
@TechSponsorTV3 ай бұрын
The simple answer is no. There is some chance of using super-low resolution FMCW (second part of answer) for stationary objects. And for moving objects there is a better option to measure distance: There is a capacitor near FET transistor under metallic shield. If drain-to-source capacitor is removed (or replaced by a smaller value cap), then frequency of this module will respond to supply voltage fast enough to perform FSK modulation. This is the most viable option, because measuring range of ~25 meters will require only 3mhz frequency step, e.g., from F1=24110 MHz to F2=24113 MHz. For modules with quadrature output max. unambiguous distance doubles to ~50 meters z=C/(2*df). C - speed of light, df - FSK modulation frequency step. Possible implementation: some development board with DAC output and ADC input. DAC connected to operational amplifier capable of outputting enough current to CDM324 and constantly outputs meandered signal voltages V1/V2 to achieve switching between two frequencies F1/F2. ADC is connected to CDM324 signal output and synchronized to DAC: samples acquired during DAC low voltage V1 go to array SIGNAL1[k], and during high DAC voltage V2 go to array SIGNAL2[k]. Then, we perform a FFT on both signals and find two complex spectrums SPECTRUM1[k] and SPECTRUM2[k]. We can extract amplitude and phase values for each k-th element of these arrays. E.g., find amplitude spectrum AMP1[k] for SPECTRUM1[k], find amplitude peaks (targets) indexes AMP1[m]. E.g., m=33, 114 and 120 - three targets: slow 33 and two fast 114 and 120. For each target bin "m" we find phases PHASE1 and PHASE2 of SPECTRUM1[ m] and SPECTRUM2[m] using ATAN2 function (google ATAN2). Find difference between phase DPHASE=PHASE1-PHASE2. And convert DPHASE to distance, e.g., -180...0 and 0..180 degrees maps to targets at distances 0..~25 meters moving in different directions (in case of CDM324). For radars with quadrature output unambiguous range 0..~50 meters for a 3MHz FSK modulation bandwidth. Another type of modulation FMCW would be difficult to implement using this module, because it requires much greater tuning range in order of 50MHz or better for usable resolution. It is hard to achieve such wide tuning range, and even if it is possible S21 phase of NE3210S01 and similar FETs used in CDM324 clones may go crazy, and amplitude too. This means that we will have huge variation of amplitude over FMCW sweep which is not good. And frequency may respond too rapid to some tuning voltages - hard to linearize it for FMCW. To sum up, FSK or FMCW can be used after small hardware modification. Unfortunately, FSK can be used only to measure moving targets. There is an option to perform scan of static objects by moving around, so every static object moves relative to the radar, e.g., we can measure distance to roadside trees and other objects if radar moves with a vehicle. But because everything moves, spectrum will have lots of overlapped signals and results may be far from ideal. FMCW: The main problem with FMCW is small achievable modulation bandwidth with CDM324, so range and resolution probably will have ridiculous values for practical use. Btw, older RFBeam radar modules with FSK modulation used exact same approach (and in some cases even same FET transistor), and parallel feedback oscillator is based on very similar microstrip half-wavelength resonator.
@Jinguapingi3 ай бұрын
@@TechSponsorTV Amazing reply; thanks!!!
@TechSponsorTV3 ай бұрын
@@Jinguapingi Thank you too for letting me know!
@sergbo31143 ай бұрын
Nice! but dont use magic numbers in code. Code like nState==0 better replace to #define MY_STATE_TRIGGER 0 if(nState==MY_STATE_TRIGGER)....
@TechSponsorTV3 ай бұрын
Thanks, will do
@spcprgrm55824 ай бұрын
That's an interesting one, could be good for 3d printed stencils! But it’s a pity that this technique will not work for qfn
@TechSponsorTV3 ай бұрын
Thanks for mentioning 3d printed stencils, didn't know this is possible
@levieux11374 ай бұрын
Nice idea however the very loud music was really too much.
@TechSponsorTV4 ай бұрын
Thanks for this valuable feedback! I simply liked this music and was kind of selfish making it so loud. I'll try to keep volume lower next time.
@TechSponsorTV4 ай бұрын
Download example from this video: www.thundertronics.com/STM32_UART_Library/STM32H750/5uart-stm32h750.zip
@juliusfucik40114 ай бұрын
What about RF interference?
@TechSponsorTV4 ай бұрын
You mean impedance mismatch and signal integrity? It is certainly not a problem for chips like STM32. For USB3.0 speeds there will be some "measurable" effect. But it is so negligible. Even at 24GHz if you make 0.5mm microstrip step with line width increased by 0.2mm, you will hardly get any noticeable impedance mismatch or phase shift. In other words, PCB thickness (0.6mm or 1.0mm) will affect performance more than these tiny steps. If you really meant interference. E.g., would this layout radiate more noise. The answer is no, it will not radiate more noise and making some interference. PCB thickness and capacitor placement will have 1000000 times more effect on RF interference. So, you can use it safely in this sense. The main problem with this layout is reliability of PCB assembly. Chip manufacturers have different tolerances for pin sizes shape. If solder paste not touching the pin of certain chip during reflow solder process, it may end up unsoldered. And there is no way to perform visual inspection, because half of solder joints are covered by chip pins. Second problem: such landing pattern is difficult to solder using soldering iron, because each second pad widened area is hidden below the chip. To sum up, I think that 99.999% there will be no any measuramble RF interference increase if this modified landing pattern is used.
@user-oz9dm5ib6d4 ай бұрын
i thought the video was posted 20 years ago😂
@TechSponsorTV4 ай бұрын
It was😨👻
@stanislavspacek22704 ай бұрын
Wtf is that filter. That's atrocious
@TechSponsorTV4 ай бұрын
Experimenting with ffmpeg. I've spent few hours to create this monster. A little too bright😂
@EmbeddedEnigma4 ай бұрын
your editing hypes me up XD
@TechSponsorTV4 ай бұрын
Thanks! I am trying to find my style. It's not perfect yet, some colors are too bright. Can't wait to make a video on something useful 🤣
@EmbeddedEnigma4 ай бұрын
@@TechSponsorTV hahahah
@lslabs20054 ай бұрын
please post Fonts
@TechSponsorTV4 ай бұрын
What fonts? I may have used Bitstream Vera Sans Mono..
@TechSponsorTV4 ай бұрын
New version, watching THREE arrays in STM32CubeMonitor: kzfaq.info/get/bejne/ldqeq5SL3dHNiWw.html
@timkuligfreemusic4 ай бұрын
I feel like you're deconstructing Musk w/this video :) Thanks for using my music, Thundertronics!
@TechSponsorTV4 ай бұрын
Your music is great! www.youtube.com/@timkuligfreemusic
@tomershushan47474 ай бұрын
what does it all mean?
@TechSponsorTV4 ай бұрын
This video shows how would signal look if we place cheap 24 GHz radar module above the road and drive Tesla CYBERTRUCK under it at a speed of 90 km/h. In other words, it's a simulation of a certain onsite measurement without driving actual car or using a radar. What's most interesting about it is that we can perform simulation using very simple formulas and extract all required data about CYBERTRUCK shape from it's Front and Side photos. How this can be useful? E.g., recognizing vehicles or other objects that are passing near the radar: we can tell if it's a motorcycle, truck or bus. With some more efforts we can estimate vehicle length.
@elwa_chin86044 ай бұрын
really good
@TechSponsorTV4 ай бұрын
Thansk!
@esps126 ай бұрын
can i get the prj folder zip ?, it looks great
@TechSponsorTV6 ай бұрын
Unfortunately, I haven't saved this sample. You can try to follow this guide: www.thundertronics.com/STM32F103C8T6/Fast_Fourier_Transform.html just go through each step and copy.
@christiankoch46277 ай бұрын
Shit implementation
@jaybarnes51838 ай бұрын
Promo'SM 💐
@TechSponsorTV7 ай бұрын
I will put more great videos soon!
@yeso82059 ай бұрын
Thanks! would you share the monitor module json files?
@TechSponsorTV9 ай бұрын
Links updated, pls check description
@yeso82059 ай бұрын
@@TechSponsorTV THANKS. HAPPY GETTING RICH!
@sugiyartosugiyarto158710 ай бұрын
Sir make video how to watch output pwm..exp tim1 chanel 1..❤❤
@TechSponsorTV10 ай бұрын
Most straightforward way is to setup and ADC sampling ~10x frequency of PWM. Something like showed in kzfaq.info/get/bejne/g6ieaa-Vq6uydWw.html .If you meant something else let me know and I'll look into it. Maybe a similar but simpler example?
@herocraftturkiye986811 ай бұрын
Would you send the download link ? I can't find in anywhere in your website