clear all; M = 10; % bit數 符號數 N = 100; % 總采樣數 L = N/M; % 每bit采樣數 emp_rate = 0.5; % 占空比 imp = round(rand(1,M)); % round(...):四舍五入; rand(M,N):產生(0,1)之間的均勻分布的隨機數,返回M*N的矩陣 % imp = randi([0,1],1,M); % randi([iMin,iMax],m,n) 在[iMin,iMax]生成隨機整數,返回m*n的矩陣 single = zeros(1,N); for ii = 1:L*emp_rate for jj = 1:M single(ii+(jj-1)*10) = imp(jj); end end subplot(211);stem(imp); subplot(212);stem(single);
或者
clear all; M = 10; % bit數 符號數 N = 100; % 總采樣數 L = N/M; % 每bit采樣數 W = 4; % W 進制的符號 imp = randi([0,W-1],1,M); single = zeros(1,N); for ii = 1:M for jj = (ii-1)*L+1 : ii*L single(jj) = imp(ii); end end subplot(211);stem(imp); subplot(212);stem(single)
或者
clear all; M = 10; % bit數 符號數 N = 100; % 總采樣數 L = N/M; % 每bit采樣數 W = 4; % W 進制的符號 imp = randi([0,W-1],1,M); single = rectpulse(imp,L); % 把 imp 中的每個元素變成 L 個相同的元素,返回:若imp為行(列)向量,則返回 length(imp)*L 的行(列)向量。若[m,n]=size(imp);則大小為[m*L,n]的矩陣。 subplot(211);stem(imp); subplot(212);stem(single)
- Matlab 輸入
emp_rate=input('輸入占空比:');