Digital Delay Sampling for Code Generation

VSiddhartha
VSiddhartha
Altair Employee
edited May 22 in Altair HyperWorks

Diverse ways to get time shifted samples in PSIM 

 

This article focuses on the usage of ZOH (zero order hold), ZOH (variable) blocks and ZOH oversampled model in PSIM. Furthermore, an equivalent model of ZOH (variable) block is discussed, specifically for code generation and hardware implementation 

First, let us see the ZOH block utilization and some important observations. Here, we take a simple circuit for analysis. Take a triangular wave source to generate a sawtooth wave of 10kHz frequency. Just add ZOH block with sampling frequency 10kHz. Another square wave source is taken to see the clock pulses.

 

image

 

If we run the simulation, the result at output is the value of source at the beginning of sampling i.e., zero as shown in the below figure. Since the samples are collected at the starting point of each cycle. 

 

image

 

Now let us see the utilization of ZOH (variable) block. Consider the same circuit, just add ZOH (variable) block as shown. There will be one extra port in this ZOH (variable) block. The bottom input is the sampling position. This position determines where in the duty cycle the sample is taken from. 

 

image

 

The result for this simulation shows that the ZOH (variable) output value is not zero as the samples are collected after a prescribed delay in sampling. In general, the output value depends on the sampling position and a value better representing the average will be the output depending on the waveform shape.  For example, in this case, since the selected position is 0.5, the output will be the mean value of the input signal. 

 

image

 

For applications specific to code generation, now we can discuss an equivalent circuit of this ZOH (variable) block which can used for hardware implementation. For this add an ADC and 1-ph PWM block in simulation as shown. Double click on 1-phase PWM block and keep ADC Trigger Position as per requirement. This will mimic the functionality of ZOH (variable) block’s extra port, where user can define the required delay. 

 

image

 

The result of this simulation is the same as the ZOH (variable) model simulation. Since ADC Trigger position value and ZOH (variable) input port value are same, samples collected after prescribed delay, the output is same. 

 

image

 

Finally, one can observe that all discussed models are giving output value based on the sample collecting position and input waveform shape. Further, the sampling frequency also did not change. Only the sampling position is changing. 

Another way to generate a more detailed output is by collecting more samples (i.e., over sampling or increasing sampling frequency) and averaging them. We will discuss this now. To get more samples, ZOH blocks with some unit delay blocks are connected as shown and the result is the averaged. Sampling frequency will be more than the source/clock frequency in this case due to oversampling. Here, in this case, we consider five times more than the source/clock frequency. 

 

image

 

The result of this circuit will appear as shown. Here in this case five samples are collected in every cycle and averaged them. The output will be true average value. Important observation is that the oversampling method is more robust which captures the true average value whereas the sample position method is dependent on the input waveform shape. 

 

image

 

The following shows the results of all different cases discussed above. Though oversampling is robust method there is a concern of increased computation requirements. It is a tradeoff between increased computation and robustness. Whereas in other cases as discussed above sampling position and shape of waveform matters a lot. 

 

image

 

Learn More: