📄 thtab67.m
字号:
% thtab67: BP Thesis Table 6.7 -- BP-Interior vs. BP-Simplex
% Signals:
% (1) TwinSine-2 with a 4-ovecomplete cosine dictionary
% (2) Carbon with a wavelet packet dictionary
% (3) WernerSorrows with a cosine packet dictionary D-4
% (4) FM-Cosine with a cosine packet dictionary D-4
% (5) Gong with a cosine packet dictionary D
% (6) Denoising TwinSine-2 with a 4-overcomplete cosine dictionary
% (7) Denoising Carbon with a wavelet packet dictionary
% (8) Denoising WernerSorrows with a cosine packet dictionary D-4
% (9) Denoising FM-Cosine with a cosine packet dictionary D-4
% (10)Denoising Gong with a cosine packet dictionary D
% Signal Length: 64, 128, 256
% Observation:
% CPU times in seconds recorded in Table 6.7
% Warning: This requires LSSOL and takes hours to run
%
help thtab67
%
% Sample Size: n = 64
%
n = 64; D= log2(n);
qmf = MakeONFilter('Symmlet', 8);
FFDCT = MakeDict(n, 'DCT', 4, 0, 0); FFDCT = [FFDCT (-FFDCT)];
FFCP1 = MakeDict(n, 'CP', D-4, 0, 0); FFCP1 = [FFCP1 (-FFCP1)];
FFCP2 = MakeDict(n, 'CP', D, 0, 0); FFCP2 = [FFCP2 (-FFCP2)];
FFWP = MakeDict(n, 'WP', D, qmf, 0); FFWP = [FFWP (-FFWP)];
x = InputSignal('TwinSine2', n);
[cpu1, cpu2] = BPCompare(x, FFDCT);
disp('TwinSine-2');
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
x = InputSignal('Carbon', n);
[cpu1, cpu2] = BPCompare(x, FFWP);
disp('Carbon')
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
x = InputSignal('WernerSorrows', n);
[cpu1, cpu2] = BPCompare(x, FFCP1);
disp('WernerSorrows')
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
x = InputSignal('FM', n);
[cpu1, cpu2] = BPCompare(x, FFCP1);
disp('FM')
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
x = InputSignal('Gong', n);
[cpu1, cpu2] = BPCompare(x, FFCP2);
disp('Gong')
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
SNR = 1;
x = InputSignal('TwinSine2', n);
randn('seed', 12345678);
[x y]= NoiseMaker(x, SNR);
[cpu1, cpu2] = BPDNCompare(y, FFDCT);
disp('Noisy TwinSine')
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
SNR = 1;
x = InputSignal('Carbon', n);
randn('seed', 12345678);
[x y]= NoiseMaker(x, SNR);
[cpu1, cpu2] = BPDNCompare(y, FFWP);
disp('Noisy Carbon')
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
SNR = 1;
x = InputSignal('WernerSorrows', n);
randn('seed', 12345678);
[x y]= NoiseMaker(x, SNR);
[cpu1, cpu2] = BPDNCompare(y, FFCP1);
disp('Noisy WernerSorrows')
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
SNR = 1;
x = InputSignal('FM', n);
randn('seed', 12345678);
[x y]= NoiseMaker(x, SNR);
[cpu1, cpu2] = BPDNCompare(y, FFCP1);
disp('Noisy FM-Cosine')
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
SNR = 1;
t = (1:n)' / n;
x = cos(t * pi/4 * n) ./ ((1:n) .^ .5)';
m = floor(3 *n/4);
x = [zeros(n-m,1);x(1:m)];
%Noise level = 1
randn('seed', 2.055615866000000e+09);
[x y]= NoiseMaker(x, SNR);
[cpu1, cpu2] = BPDNCompare(y, FFCP2);
disp('Noisy Gong');
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
%
% Sample Size: n = 128
%
n = 128; D= log2(n);
qmf = MakeONFilter('Symmlet', 8);
FFDCT = MakeDict(n, 'DCT', 4, 0, 0); FFDCT = [FFDCT (-FFDCT)];
FFCP1 = MakeDict(n, 'CP', D-4, 0, 0); FFCP1 = [FFCP1 (-FFCP1)];
FFCP2 = MakeDict(n, 'CP', D, 0, 0); FFCP2 = [FFCP2 (-FFCP2)];
FFWP = MakeDict(n, 'WP', D, qmf, 0); FFWP = [FFWP (-FFWP)];
x = InputSignal('TwinSine2', n);
[cpu1, cpu2] = BPCompare(x, FFDCT);
disp('TwinSine-2');
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
x = InputSignal('Carbon', n);
[cpu1, cpu2] = BPCompare(x, FFWP);
disp('Carbon')
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
x = InputSignal('WernerSorrows', n);
[cpu1, cpu2] = BPCompare(x, FFCP1);
disp('WernerSorrows')
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
x = InputSignal('FM', n);
[cpu1, cpu2] = BPCompare(x, FFCP1);
disp('FM')
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
x = InputSignal('Gong', n);
[cpu1, cpu2] = BPCompare(x, FFCP2);
disp('Gong')
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
SNR = 1;
x = InputSignal('TwinSine2', n);
randn('seed', 12345678);
[x y]= NoiseMaker(x, SNR);
[cpu1, cpu2] = BPDNCompare(y, FFDCT);
disp('Noisy TwinSine')
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
SNR = 1;
x = InputSignal('Carbon', n);
randn('seed', 12345678);
[x y]= NoiseMaker(x, SNR);
[cpu1, cpu2] = BPDNCompare(y, FFWP);
disp('Noisy Carbon')
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
SNR = 1;
x = InputSignal('WernerSorrows', n);
randn('seed', 12345678);
[x y]= NoiseMaker(x, SNR);
[cpu1, cpu2] = BPDNCompare(y, FFCP1);
disp('Noisy WernerSorrows')
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
SNR = 1;
x = InputSignal('FM', n);
randn('seed', 12345678);
[x y]= NoiseMaker(x, SNR);
[cpu1, cpu2] = BPDNCompare(y, FFCP1);
disp('Noisy FM-Cosine')
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
SNR = 1;
t = (1:n)' / n;
x = cos(t * pi/4 * n) ./ ((1:n) .^ .5)';
m = floor(3 *n/4);
x = [zeros(n-m,1);x(1:m)];
%Noise level = 1
randn('seed', 2.055615866000000e+09);
[x y]= NoiseMaker(x, SNR);
[cpu1, cpu2] = BPDNCompare(y, FFCP2);
disp('Noisy Gong');
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
%
% Sample Size: n = 256
%
n = 256; D= log2(n);
qmf = MakeONFilter('Symmlet', 8);
FFDCT = MakeDict(n, 'DCT', 4, 0, 0); FFDCT = [FFDCT (-FFDCT)];
FFCP1 = MakeDict(n, 'CP', D-4, 0, 0); FFCP1 = [FFCP1 (-FFCP1)];
FFCP2 = MakeDict(n, 'CP', D, 0, 0); FFCP2 = [FFCP2 (-FFCP2)];
FFWP = MakeDict(n, 'WP', D, qmf, 0); FFWP = [FFWP (-FFWP)];
x = InputSignal('TwinSine2', n);
[cpu1, cpu2] = BPCompare(x, FFDCT);
disp('TwinSine-2');
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
x = InputSignal('Carbon', n);
[cpu1, cpu2] = BPCompare(x, FFWP);
disp('Carbon')
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
x = InputSignal('WernerSorrows', n);
[cpu1, cpu2] = BPCompare(x, FFCP1);
disp('WernerSorrows')
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
x = InputSignal('FM', n);
[cpu1, cpu2] = BPCompare(x, FFCP1);
disp('FM')
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
x = InputSignal('Gong', n);
[cpu1, cpu2] = BPCompare(x, FFCP2);
disp('Gong')
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
SNR = 1;
x = InputSignal('TwinSine2', n);
randn('seed', 12345678);
[x y]= NoiseMaker(x, SNR);
[cpu1, cpu2] = BPDNCompare(y, FFDCT);
disp('Noisy TwinSine')
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
SNR = 1;
x = InputSignal('Carbon', n);
randn('seed', 12345678);
[x y]= NoiseMaker(x, SNR);
[cpu1, cpu2] = BPDNCompare(y, FFWP);
disp('Noisy Carbon')
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
SNR = 1;
x = InputSignal('WernerSorrows', n);
randn('seed', 12345678);
[x y]= NoiseMaker(x, SNR);
[cpu1, cpu2] = BPDNCompare(y, FFCP1);
disp('Noisy WernerSorrows')
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
SNR = 1;
x = InputSignal('FM', n);
randn('seed', 12345678);
[x y]= NoiseMaker(x, SNR);
[cpu1, cpu2] = BPDNCompare(y, FFCP1);
disp('Noisy FM-Cosine')
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simplex = %8.4e\n', cpu2);
SNR = 1;
t = (1:n)' / n;
x = cos(t * pi/4 * n) ./ ((1:n) .^ .5)';
m = floor(3 *n/4);
x = [zeros(n-m,1);x(1:m)];
%Noise level = 1
randn('seed', 2.055615866000000e+09);
[x y]= NoiseMaker(x, SNR);
[cpu1, cpu2] = BPDNCompare(y, FFCP2);
disp('Noisy Gong');
fprintf('\n')
fprintf('CPU Running Time of Interior = %8.4e\n', cpu1);
fprintf('CPU Running Time of Simpexl = %8.4e\n', cpu2);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -