The document contains 10 experiments on generating and analyzing different types of signals in MATLAB. It summarizes the coding used to generate signals like sine waves, dirac delta functions, rectangular functions, and more. It also tests functions for analog to digital conversion and audio aliasing.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
130 views8 pages
Membangkitkan Signal: All TT - SF
The document contains 10 experiments on generating and analyzing different types of signals in MATLAB. It summarizes the coding used to generate signals like sine waves, dirac delta functions, rectangular functions, and more. It also tests functions for analog to digital conversion and audio aliasing.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8
MEMBANGKITKAN SIGNAL
Nama : Iman Saptiadi
Nosis : 20170239-E Kelas : T.Telkommil
Codingan Matlab Bentuk sinyal
Percobaan 1 close all clear tt_sf samples = 10000; %jumlah sample samp_freq = 20 %frekuensi sample nyq = samp_freq/2 %Batas frekunsi Nyquist sample samp_time = samples/samp_freq; %waktu sampling freq = 4 %frekuensi gelombang sinus t = [0:samples-1]; %jumlah waktu sample tt = t/10000; %Setiap titik adalah 0.1 mdetik,di plot menjadi 1 detik size(tt); sint = sin(tt); radfreq = freq*(2*pi)/1; sint2 = sin(radfreq*tt); %Frekuensi radial adalah radfreq, sedangkan Hz adalah radfreq/ (2*pi) plot(tt, sint2, 'k') title('radfreq plot') pause(1)
if nyq - freq < 0 alias = nyq -
abs(nyq-freq), end cnt = 1; for ii = 1:samp_time:samples tt_sf(cnt) = ii/samples; cnt=cnt+1; Percobaan 2 end
if ii < samples tt_sf(cnt) =
samples/10000; end sint3 = sin(radfreq*tt_sf); hold on tt_sf_sze = size(tt_sf,2)
plot(tt_sf, sint3, 'r')
figure, plot(tt_sf, sint3, 'r.'), hold on,plot(tt, sint2) 'k' % Dirac N = 10; %number of samples n = -N/2:N/2; %vector d = [zeros(1,N/2) 1 zeros(1,N/2)]; figure; %display stem(n,d); xlabel('n'); ylabel('/delta(n)'); title('Dirac function'); axis([-N/2 N/2 0 1.1]); Percobaan 3 %Rect function M = 3; N = 10; %number of samples n = -N/2:N/2; %vector Rect = [zeros(1,N/2-M) ones(1,2*M+1) zeros(1,N/2-M)]; %logic for rect figure; %display stem(n,Rect); xlabel('n'); ylabel('rect'); title('Rect function'); axis([-N/2 N/2 0 1.1]);
Percobaan 4 %sign function
N = 10; %Number of samples n = -N/2:N/2; %vector u = [zeros(1,N/2) 1 ones(1,N/2)]; %logic sign function x = 2.*u-1; figure; %display stem(n,x); xlabel('n'); ylabel('x(n)'); title('Sign function'); axis([-N/2 N/2 -1 1]); Percobaan 5 %Sine function test [x,t]=sin_NU(1000,10,0.5); figure(7); plot(t,x); xlabel('time'); ylabel('signal'); title('sin_NU function test');
Sin_NU function[x,t] = sin_NU(fs, f0, T)
t = 0:1/fs:T; x = sin(2*pi*f0*t); end
Percobaan 6 %Sine function
L = 50; n = [-L:L]; Ts = 0.1; x = zeros(1,length(n)); x(n~=0) = sin(pi*n(n~=0)*Ts)./ (pi*n(n~=0)*Ts); x(n==0) = 1; figure; stem(n,x); xlabel('n'); ylabel('sin'); title('Sinc function'); Percobaan 7 %Sine function L = 20; n = 0:L-1; f0 = 100; fs = 1000; x0 = 1; x = x0*sin(2*pi*f0/fs*n); figure; stem(n,x); xlabel('n'); ylabel('sin'); title('sine'); axis([-1 L -1.1 1.1]); Percobaan 8 % Unit step function N = 10; n = -N/2:N/2; u = [zeros(1,N/2) 1 ones(1,N/2)]; step figure; stem(n,u); xlabel('n'); ylabel('u(n)'); title('Unit step function'); axis([-N/2 N/2 0 1.1]); Percobaan 9 T = 2; f0 = 1000; fs1 = 20000; fs2 = 1500; [x1, t1] = sin_NU(fs1, f0,T); [x2, t2] = sin_NU(fs2, f0,T); figure; plot(t1,x1,t2,x2,'LineWidth',3.0), axis([0, 0.005, -1.1, 1.1]) legend('High Frequency','Low frequency') xlabel('Time') ylabel('signals') title('Audio aliasing'); %%% soundsc(x1,fs1) %%% soundsc(x2,fs2)
Percobaan 10 % ADC_NU function test
R = 10; B = 3; x = -5:15; y = adc_NU(x,R,B); t = 0:length(x)-1; figure(11) plot(t,x,t,y) plot(t,x,'g-*','Linewidth',2.2) hold on stem(t,y,'filled','Linewidth',2.2) hold off title('Ramp function unipolar quantization') xlabel('Time in sec') ylabel('signal magnitude in volts') axis([-0.1,20.1,-5.1,15.1])
adc_NU function y = adc_NU(x, R, B)
level = [0:R/(2^B):R-R/(2^B)]; temp = [-inf,(level(2:end)-R/ (2^(B+1))),inf]; y = zeros(1,length(x)); for i = 1:length(level) y = y + (x >= temp(i)).*(x < temp(i+1)).*level(i); end