How can I write a Matlab code on Digital Signals Processing ?
12 次查看（过去 30 天）
Jone Erikson ，2020-8-23
评论： Rena Berman ，2020-10-12
How can I write a MATLAB function (not a script!) to generate a periodic waveform of total length L. Each period must be a pulse of amplitude A that lasts a total ofM samples followed by T−M samples that are zero so that the overall period is T. The result should be a squarewave. Could you please help with this code, with a brief explaination of the code
Thiago Henrique Gomes Lobato 2020-8-23
This should work for you, the code is almost self explanatory:
L = 1024;
Periods = 4;
M = 128;
A = 1;
figure,plot( squareWave(L,M,Periods,A) )
function signal = squareWave(L,M,Periods,A)
signal = zeros(L,1); %initialize signal with zeros
if mod(L,Periods) ~= 0
signal = -1; % False input data
T = L/Periods; % Get length
% Replace only non-zero values
signal( 1+(idx-1)*T:1+(idx-1)*T+M) = A;
Original comments by Jone Erikson retrieved from Google Cache:
The code above is not running Thigao
Error: File: squareWave.m Line: 14 Column: 30
Function definitions are not permitted in this context.
Line 14: signal(1+(idx-1)*T:1+(idx-1)*T+M)= A;
Also, why did you assume these values for: L, M, A, and Periods?
Find more on Waveform Generation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!