summaryrefslogtreecommitdiff
path: root/2279/CH5/EX5.7/Ex5_7.sce
blob: b1a9f851730a33b103552b367482ab1110cd5f04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//Fourier Series coefficients of half-wave rectifier output
//Assume the period of the signal T=1
t=-0.5:0.01:1;
T = 1;
for i=1:length(t)
    if t(i)<T/2 then
        x(i)=sin(2*%pi*t(i));
    else
        x(i)=0;
    end
end
k=-10:10;
for i=1:length(k)
    if k(i)==1 then
        ak(i)=1/(4*%i);
    elseif k(i)==-1
        ak(i)=-1/(4*%i);
    else
        ak(i)=(cos(k(i)*%pi/2)*exp(-k(i)*%pi/2*-%i))/(%pi-(%pi*k(i)*k(i)));
    end
end


disp("The fourier series coefficients are...")
disp(ak)
disp("magnitude of Fourier series coefficient")
disp(abs(ak))
//PLotting frequency spectrum 
subplot(2,1,1)
plot(k,abs(ak),'.');
xtitle("Magnitude Spectrum","k","|ak|");
for i=1:length(k)
    if k(i)==0 | k(i)==3 | k(i)==-3 | k(i)==-5 |k(i)==5 then
        phase(i)=0;
    elseif k(i)==-1 then
            phase(i)=%pi/2;
    elseif k(i)==1  then
             phase(i)=-%pi/2;
    elseif k(i)==-2 | k(i)==-4
          phase(i)=%pi;
    elseif k(i)==2 | k(i)==4
            phase(i)=-%pi;
    else
            phase(i) =  0;
    end        
end
subplot(2,1,2)
plot(k,phase,'.');
xtitle("Phase Spectrum","k","angle(ak)");
disp(phase)