I apologize if my previous picture wasn't clear. But the signals generated by the Arduino are indeed two-level. In the previous pictures, the Arduino signals were labeled by their variable names (InvPin1, InvPin2, InvPin3, and InvPin4) just as in the code I shared originally. In this picture, I will use their actual pin numbers if that makes it more clear.
Note that the three other waveforms you highlighted were of further examples of the Output signal across the Load of differing "dutyCycles" values (D = 25, D = 10, and D = 40). I included them to showcase what the code was really affecting and why "dutyCycles" and "frequency" were variables to be concerned about. In retrospect, I realize those are slightly wrong anyway, so those should be ignored as "dutyCycles" can be between (0, 100), non-inclusive.
Again, I want the frequency of the Output signal (the signal across the Load in the diagram) to be as accurate as possible to the frequency value given in the code (see previous reply for understanding what I mean by "accurate"). This means that the frequencies of the four signals generated by the Arduino (in pins 11, 10, 6, and 5) should also be of accurate frequency.
So, in other words, what I want is for the frequency of the four signals generated by the Arduino (pins 11, 10, 6, and 5) to match the value of the frequency variable given in the code. Additionally, I would like for the frequencies of the signals to remain accurate for up to 10 kHz, meaning if I change the value of the frequency variable to 10000, the frequencies of the signals generated will be as close to 10 kHz as possible.
Is this more clear?
