Alpha Datalink V2 - Notch Filter configuration

I accidentally posted an old video from two years ago. I edited my post and now the proper video is posted, please check link now. The bin file from this flight is the second one I have posted in this discussion called: 2025-11-02 15-59-39 (after filter).

Sorry for the confusion.

Bottom line up front, I think for some reason the primary baro on your craft is subject to more disturbance than the secondary, and the trends of the primary baro seem to correlate with the position controller’s altitude estimate changes that are driving your vertical oscillations.

Purple is the primary baro. Note the sagging corresponding with the sag in orange (which is the position estimate used to track the position error. Brown is the secondary baro, which is a lot smoother over this regime. Gps is here for reference but we’re inside the error band for the gps readings so it’s not clear from this what the craft is doing.

A closer look at the influence of the primary baro on the altitude estimate in orange.

I’m spitballing here and just trying to do a first pass of the logs, if I’m speaking in error feel free to correct me.

I think PSC_ACCZ_P could be increased a little, note how the actual (blue) is not reaching the target (purple).

There’s noise making it’s way through the actual response, so I’ve filtered it in the graph. Note also how hover throttle has increased somewhat from the last flight to 0.275 (but not learned yet by the flight controller). This can come from increased controller activity, you mentioned that you ran autotune, and might be a red herring, but I figured I’d point it out. While at this point I can’t say that you should set the P to 0.275, from the graph as I see it I think it should be increased somewhat. I would want to see the peaks and troughs line up, and have less I term build up during setpoint changes. I don’t see P term oscillation, so I don’t think D term is called for yet here.

You can probably ignore the below, it is a log of my findings that led me to the above. Someone feel free to tell me if I’m just graph hunting or if this is useful analysis.

This may or may not be a problem.

Looking back through your filter settings I see this:
I chose the section of the flight at the end where you were just hovering. Since you had raw imu data in your log, I set the bin size to 2048 which gave me a frequency resolution of about 1hz. With less raw data to go through, peaks are sharper. Too high of a resolution with too little data and things get weird. If I’m reading these right, what this is saying is that you have oscillations in yaw (rotations in Z) at about 11hz (and some harmonics) that have as much energy as the control frequencies. You’ll also see this noise frequency in the pid review tool graph for yaw for these sections.

Also, the fourth harmonic of the motor vibrations is sitting on the edge of the Nyquist frequency and aliasing back down. The above graphs include the aliased noise, compare with the below.

This bumps up the noise floor for Z by about 5db. This almost looks like a 10hz frame resonance, I would check for slop in the arms perhaps?

If you’ve been checking the filter review tool without setting the aliased noise to “show”, you’d see the second graph. The tool defaults to “hide”. This isn’t usually a problem, but I’ve been trying to find sources of noise that would show up in the throttle controller and there are certainly some higher frequency components. Note I have also zoomed in on the control loop frequency range to make the graph comparison clearer, usually it is zoomed quite out.

Thank you for your very helpful comment. It’s probably the longest and explains very clearly what might be wrong.

I’ve noticed that vibrations generated by the propellers are a significant problem. In my frame, the drone’s arms are tilted upward by 7.5 degrees, which can cause vibrations in the Z axis because the propellers are tilted 7.5 degrees in line with the arms. Therefore, the propeller imbalance in the X and Y axes also translates to the Z axis.

Why do I consider the frame stiff and free of play? The top and bottom plates are made of 3mm thick solid carbon fiber, to which the arm folding mechanisms are screwed – I tested them and found no play.

The problem I encountered was the propellers. I tested four sets of foldable propellers:
-T-motor FA20.2*6.6"
-T-motor MF2009
-T-motor MF2211
-HobbyWing HF 22*7.0"
and none of them produced vibration levels below 10 on the Z axis. Vibration values ​​on the X axis are always the best, while the Y axis is usually between X and Z.

The log analysis shows that when I start flying more aggressively, the vibration level doubles - what can be seen in the middle of the graph below. I wonder if other forum users have a similar problem with 20-22" propellers?

Perhaps mounting the Cube Orange Plus on a vibration isolation plate would be a good idea, but that won’t solve the vibration problem, which is transmitted to all other components.

If it’s a barometer problem, there’s nothing we can do about it for now.

I’m not in front of my computer right now but you could try switching which baro is used as the primary input and see if that makes the oscillations go away.

As an anecdote, I haven’t had good luck with folding props as far as vibrations are concerned, others may have different experiences.

And instead of slop, is the system flexible when rotating in Z? Is your landing gear flexible?

:100: my experience also

I’m preparing for another flight. In addition to the BARO_PRIMARY,1 setting, would it be a good idea to set the primary IMU to the third one – this one experiences the lowest vibrations during flight?

Regarding the landing gear, I touched the landing gear while the drone was hovering and could clearly feel the resonance. I’ll install additional cross-bracing carbon fiber tubes.

Regarding the 22" propellers, which aren’t foldable, are there any you can confidently recommend?

I would want to see a filter review log with the third imu also being recorded in addition to the first, at hover in alt hold like usual. The regimes are often different enough to warrant changes to the filters.

Regarding props, I can’t recommend anything specific, just any CF prop that meets your needs

Yesterday, I performed test flights with the following settings on:
BARO_PRIMARY,1 (the second barometer is prioritized)
INS_RAW_LOG_BAT_OPT,10 (collecting data from all 3 IMUs)
in conditions with a wind speed of 8 m/s and a temperature of 2°C. I performed a hover in ALTHOLD, but had to slightly adjust the drone’s position on the sticks due to the air movement.

Log files:

  1. hover + mixed flight (~150MB):

2. only hover (~50MB):

Likely due to these subtle position corrections, the vibration level was slightly higher than in the previous logs from November 1-2, 2025, during hovering. Interestingly, the vibration level on the second IMU exceeds -50 dB, while on the others does not:

I’m curious which IMU, among those described by the manufacturer (Orange Cube+), reads the highest vibration level and why:

When it comes to choosing the second barometer (BARO_PRIMARY,1) as a priority, I do not see a significant change in the context of vibrations on Z axis and also after installing carbon landing gear stiffeners:

This will take a little digging so I’ll respond to the easy stuff for now.

I couldn’t quickly find a part of the log where you were hovering without lateral movement for very long, but one of the slow sections it seems like vertical position control is a little less active when hovering. Higher speed maneuvers are a different story.

Switching to the other baro had more to do with eliminating the drift you were demonstrating when hovering, and I think you’ll find that behavior somewhat improved next time you try it (if you haven’t already)

Regarding the imus, IMU[0] and IMU[1] are suspended in a foam insert designed to dampen vibes somewhat, while IMU[2] is hard mounted as a “ground truth” IMU (meant to tell you what your frame is experiencing at the location of the flight controller. Observe:

Above is prefiltered noise on the first and third imus. Notice how the blue floor trails off at higher frequencies, while the orange floor stays mostly constant.

After working with large systems for a while, I am forced to conclude that the foam inserts amplify energy in the lower frequencies where motor noise tends to live, at the tradeoff of running into clipping issues sooner than the two isolated system. In most cases software filtering can make up the difference here, but sometimes it can’t. In your case it seems like software filtering is able to keep this under control in my opinion so far.

However…. The resonance at 8-10hz is not seen by the hard mounted imu. In the case of the 3rd imu, the lowest frequencies seem to be less noisy than the other two, exercise left to the reader.

From every metric I can see, at hover, the third imu sees better vibrations overall than the other two. During fast lateral flight, things change, but it doesn’t seem like the third imu is notably worse here.

During lateral flight, I think you’re still dealing with baro noise, contributing to feedback to the altitude controller and introducing excess control action and vibes. The second baro is less noisy, but still subject to these shocks. I would advise you to do your best to shield the baro. While your gps isn’t great, it is capable of detecting an altitude change of a few meters, so I think these shocks are truly propwash or headwind or something

And just for fun, it seems like there is some coupling here between throttle effort and altitude control.

And after your crazy maneuvers, the vibration profile changes. I would inspect the craft thoroughly. Note the calm section before you land now has an extra peak around 25hz, and some of the noise is falling outside the notch filters, and higher frequency peaks are shoring up.

While I would like to look deeper later, for now I would switch to using the third IMU if I were you, and then adjust the notch filters to suit.

Edit: Spelling

Because first harmonic is less powerful than 2nd is there any drawback to setup 2 RPM dynamic notch for different harmonic?

Also can you please help to understand the benefit of running of fast imu at 2khz or higher for such big rig? Why it’s better than 1khz with up to 500 hz range that have better frequency resolution?

That is convoluted, but yes you can do that.

Strictly speaking for this craft, the single notch filter (with harmonics) seems to do a decent enough job of filtering both peaks. I expect this might change if the user wishes to raise the gyro lowpass.

First IMU

Third IMU (and note a very clear frame resonance in Y at 22hz

And about sample rate, I’d rather have it high to ensure there’s nothing I’m missing, then lower it if necessary. On this craft, as long as the processor load isn’t too high, 2kHz is fine and might be overkill, but in reality it is well tolerated if there are no other concerns. That’s just my opinion.

In my opinion its not always a good idea to increase the IMU readout speed. With an ICM-20689 on a Pixhawk 4 i had quite bad vibration results on a 4kg OctaQuad.

INS_FAST_SAMPLE = 0 helped a lot.

From my personal experience would suggest to try without fast sampling, at least for a test flight as a direct comparision.

Edit: Corrected IMU

Can you speak more towards why lowering your IMU readout speed solved your issue?

1 Like

Lowering the sample rate works like a low pass filter

Thanks for hint, that makes lot of sense. Higher frequency noise will alias down to lower frequency, so it’s better to filter with proper LPF than just cutting it off but still see it where it does not exists.

1 Like

Don’t want to hijack this thread further and don’t want to pretend this is universal truth:

On my build (which is very very stiff) i had a lot clipping (sensor hitting max range) although the overall vibration levels where relatively low. Clipping is a poison for the EKF which results in EKF failsafes. Disabling fast sampling reduced clipping to zero. Might be an effect on this particular IMU type.

Guess the internal sensor data filtering (inside the IMU) works better at lower sample rate.

Normal sample rate is 1 kHz if it got it correct, this allows max. 500hz filter frequency. Thats not enough for small builds but can be enough for bigger builds.

1 Like

Let’s do a quick summary, which is crucial for my next flight, from which we’ll extract key data.
What I plan to do:

  1. I’ll stiffen the landing gear even more by mounting carbon fiber tubes about 10 cm below the ground. Currently, even with the struts visible in the photo, it still resonates. If that doesn’t help, I’ll mount the landing gear on a vibration isolation plate that I have ready for the gimbal.

  2. I’ll change the gyro primary from IMU[0] to IMU[2]. How can I do this, and what parameter defines it?

  3. I’ll set the notch filter correction after changing it to IMU[2] after the flight.

  4. Another test flight to verify the correct operation of the notch filter for IMU[2].

  5. Regarding the reduced sampling rate, should I check this? What parameters are responsible for this?

  6. Should I test the INS_FAST_SAMPLE,0 value?

These maneuvers looked like this (1:20-1:25 min), this video was an inspiration for me:

1 Like

@Joshua_Kordani probably was talking about this, it can be a motor or propeller mount.

1 Like

I’m convinced it was caused by a dry leaf or leaves hitting the propeller as it approached the ground. The photo shows a lot of them in the area.