diff --git a/applications/lofar2/designs/lofar2_unb2b_sdp_station/src/vhdl/lofar2_unb2b_sdp_station_pkg.vhd b/applications/lofar2/designs/lofar2_unb2b_sdp_station/src/vhdl/lofar2_unb2b_sdp_station_pkg.vhd
index e8670d3d4481d113e06d37e40b81aa226b70951e..27f50b7c832e70e5a80cbf95031d09137cb8a720 100644
--- a/applications/lofar2/designs/lofar2_unb2b_sdp_station/src/vhdl/lofar2_unb2b_sdp_station_pkg.vhd
+++ b/applications/lofar2/designs/lofar2_unb2b_sdp_station/src/vhdl/lofar2_unb2b_sdp_station_pkg.vhd
@@ -36,21 +36,26 @@ package lofar2_unb2b_sdp_station_pkg is
     use_fsub          : boolean;
     use_oversample    : boolean;
     use_bf            : boolean;
+    use_bdo_transpose : boolean;
     use_xsub          : boolean;
     use_ring          : boolean;
     P_sq              : natural;
   end record;
 
-  constant c_ait        : t_lofar2_unb2b_sdp_station_config := (false, false, false, false, false, false, 0);
-  constant c_fsub       : t_lofar2_unb2b_sdp_station_config := (false, true,  false, false, false, false, 0);
-  constant c_bf         : t_lofar2_unb2b_sdp_station_config := (false, true,  false, true,  false, false, 0);
-  constant c_bf_ring    : t_lofar2_unb2b_sdp_station_config := (false, true,  false, true,  false, true,  0);
-  constant c_xsub_one   : t_lofar2_unb2b_sdp_station_config := (false, true,  false, false, true,  false, 1);
-  constant c_xsub_ring  : t_lofar2_unb2b_sdp_station_config := (false, true,  false, false, true,  true,  9);
-  constant c_full_wg    : t_lofar2_unb2b_sdp_station_config := (true,  true,  false, true,  true,  true,  9);
-  constant c_full       : t_lofar2_unb2b_sdp_station_config := (false, true,  false, true,  true,  true,  9);
-  constant c_full_wg_os : t_lofar2_unb2b_sdp_station_config := (true,  true,  true,  true,  true,  true,  9);
-  constant c_full_os    : t_lofar2_unb2b_sdp_station_config := (false, true,  true,  true,  true,  true,  9);
+  constant c_ait        : t_lofar2_unb2b_sdp_station_config := (false, false, false, false, false, false, false, 0);
+  constant c_fsub       : t_lofar2_unb2b_sdp_station_config := (false, true,  false, false, false, false, false, 0);
+  -- use c_bf on one node also to simulate bdo transpose
+  -- use c_bf_ring with ring also to simulate bdo identity
+  constant c_bf         : t_lofar2_unb2b_sdp_station_config := (false, true,  false, true,  false, false, false, 0);
+  constant c_bf_ring    : t_lofar2_unb2b_sdp_station_config := (false, true,  false, true,  false, false, true,  0);
+  constant c_xsub_one   : t_lofar2_unb2b_sdp_station_config := (false, true,  false, false, false, true,  false, 1);
+  constant c_xsub_ring  : t_lofar2_unb2b_sdp_station_config := (false, true,  false, false, false, true,  true,  9);
+  -- use c_full_wg for SDP regression test on Arts-unb2b
+  constant c_full_wg    : t_lofar2_unb2b_sdp_station_config := (true,  true,  false, true,  false, true,  true,  9);
+  constant c_full       : t_lofar2_unb2b_sdp_station_config := (false, true,  false, true,  false, true,  true,  9);
+  constant c_full_wg_os : t_lofar2_unb2b_sdp_station_config := (true,  true,  true,  true,  false, true,  true,  9);
+  -- use c_full_os for SDP on LTS-unb2b of Disturb2
+  constant c_full_os    : t_lofar2_unb2b_sdp_station_config := (false, true,  true,  true,  false, true,  true,  9);
 
   -- Function to select the revision configuration.
   function func_sel_revision_rec(g_design_name : string) return t_lofar2_unb2b_sdp_station_config;
diff --git a/applications/lofar2/designs/lofar2_unb2c_sdp_station/src/vhdl/lofar2_unb2c_sdp_station_pkg.vhd b/applications/lofar2/designs/lofar2_unb2c_sdp_station/src/vhdl/lofar2_unb2c_sdp_station_pkg.vhd
index f7b15514a33880823548bec150ce5ca7bd4dbd13..b1115e5db29bfa03da01a6f73f8fcbfa81ec6533 100644
--- a/applications/lofar2/designs/lofar2_unb2c_sdp_station/src/vhdl/lofar2_unb2c_sdp_station_pkg.vhd
+++ b/applications/lofar2/designs/lofar2_unb2c_sdp_station/src/vhdl/lofar2_unb2c_sdp_station_pkg.vhd
@@ -36,21 +36,25 @@ package lofar2_unb2c_sdp_station_pkg is
     use_fsub          : boolean;
     use_oversample    : boolean;
     use_bf            : boolean;
+    use_bdo_transpose : boolean;
     use_xsub          : boolean;
     use_ring          : boolean;
     P_sq              : natural;
   end record;
 
-  constant c_ait        : t_lofar2_unb2c_sdp_station_config := (false, false, false, false, false, false, 0);
-  constant c_fsub       : t_lofar2_unb2c_sdp_station_config := (false, true,  false, false, false, false, 0);
-  constant c_bf         : t_lofar2_unb2c_sdp_station_config := (false, true,  false, true,  false, false, 0);
-  constant c_bf_ring    : t_lofar2_unb2c_sdp_station_config := (false, true,  false, true,  false, true,  0);
-  constant c_xsub_one   : t_lofar2_unb2c_sdp_station_config := (false, true,  false, false, true,  false, 1);
-  constant c_xsub_ring  : t_lofar2_unb2c_sdp_station_config := (false, true,  false, false, true,  true,  9);
-  constant c_full_wg    : t_lofar2_unb2c_sdp_station_config := (true,  true,  false, true,  true,  true,  9);
-  constant c_full       : t_lofar2_unb2c_sdp_station_config := (false, true,  false, true,  true,  true,  9);
-  constant c_full_wg_os : t_lofar2_unb2c_sdp_station_config := (true,  true,  true,  true,  true,  true,  9);
-  constant c_full_os    : t_lofar2_unb2c_sdp_station_config := (false, true,  true,  true,  true,  true,  9);
+  constant c_ait        : t_lofar2_unb2c_sdp_station_config := (false, false, false, false, false, false, false, 0);
+  constant c_fsub       : t_lofar2_unb2c_sdp_station_config := (false, true,  false, false, false, false, false, 0);
+  -- use c_bf on one node also to simulate bdo transpose
+  -- use c_bf_ring with ring also to simulate bdo identity
+  constant c_bf         : t_lofar2_unb2c_sdp_station_config := (false, true,  false, true,  false, false, false, 0);
+  constant c_bf_ring    : t_lofar2_unb2c_sdp_station_config := (false, true,  false, true,  false, false, true,  0);
+  constant c_xsub_one   : t_lofar2_unb2c_sdp_station_config := (false, true,  false, false, false, true,  false, 1);
+  constant c_xsub_ring  : t_lofar2_unb2c_sdp_station_config := (false, true,  false, false, false, true,  true,  9);
+  constant c_full_wg    : t_lofar2_unb2c_sdp_station_config := (true,  true,  false, true,  false, true,  true,  9);
+  -- Use c_full for LOFAR2 Station SDP operations
+  constant c_full       : t_lofar2_unb2c_sdp_station_config := (false, true,  false, true,  false, true,  true,  9);
+  constant c_full_wg_os : t_lofar2_unb2c_sdp_station_config := (true,  true,  true,  true,  false, true,  true,  9);
+  constant c_full_os    : t_lofar2_unb2c_sdp_station_config := (false, true,  true,  true,  false, true,  true,  9);
 
   -- Function to select the revision configuration.
   function func_sel_revision_rec(g_design_name : string) return t_lofar2_unb2c_sdp_station_config;
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_beamformer.vhd b/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_beamformer.vhd
index ccca16990ba2b4bd5037073fe8f4e238c4c4c171..0f5ae9e26f4a48ebfe7ae1b985ac16a0caabef8a 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_beamformer.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_beamformer.vhd
@@ -43,6 +43,7 @@ entity node_sdp_beamformer is
     g_sim                    : boolean := false;
     g_sim_sdp                : t_sdp_sim := c_sdp_sim;
     g_beamset_id             : natural := 0;
+    g_use_bdo_transpose      : boolean := false;
     g_scope_selected_beamlet : natural := 0;
     -- Use no default raw width, to force instance to set it
     g_subband_raw_dat_w      : natural;  -- default: c_sdp_W_subband;
@@ -257,7 +258,8 @@ begin
   ---------------------------------------------------------------
   u_sdp_beamformer_output : entity work.sdp_beamformer_output
   generic map(
-    g_beamset_id  => g_beamset_id
+    g_beamset_id    => g_beamset_id,
+    g_use_transpose => g_use_bdo_transpose
   )
   port map (
     mm_rst => mm_rst,
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_beamformer_output.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_beamformer_output.vhd
index 0545074b81b422b77f4bf4ddbe6d3020b9344ef3..12d420d2eef731c1b2cff205bf4ebe1adebd95e9 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_beamformer_output.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_beamformer_output.vhd
@@ -22,7 +22,7 @@
 --
 -- Author: R. van der Walle, E. Kooistra (payload error support)
 -- Purpose:
--- The beamformer output (BDO) packetizes the beamlet data into UDP/IP packets.
+-- The beamformer data output (BDO) packetizes the beamlet data into UDP/IP packets.
 -- Description:
 -- * https://support.astron.nl/confluence/display/L2M/L5+SDPFW+Design+Document%3A+Beamformer
 -- * https://support.astron.nl/confluence/display/L2M/L4+SDPFW+Decision%3A+Multiple+beamlet+output+destinations
@@ -146,6 +146,7 @@ begin
     snk_in_concat <= in_sosi;
     snk_in_concat.data(c_data_w - 1 downto 0) <= in_sosi.re(c_sdp_W_beamlet - 1 downto 0) & in_sosi.im(c_sdp_W_beamlet - 1 downto 0);
 
+  -------------------------------------------------------------------------------
     -- synthesis translate_off
     -- Force BSN error in simulation to verify payload error in tb_lofar2_unb2c_sdp_station_bf.vhd,
     -- this will cause two times payload errors, one when BSN goes wrong and one when BSN goes ok again.
@@ -174,6 +175,7 @@ begin
       snk_in_concat.bsn <= INCR_UVEC(in_sosi.bsn, 1);
     end if;
     -- synthesis translate_on
+  -------------------------------------------------------------------------------
   end process;
 
   -------------------------------------------------------------------------------
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_station.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_station.vhd
index cf4189c6ce78763c23e2deedb067585d774051a7..50e73a3cc91cc8ab8a4a78a0722d8357d6f9af21 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_station.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_station.vhd
@@ -66,6 +66,7 @@ entity sdp_station is
     g_use_oversample         : boolean := false;
     g_use_xsub               : boolean := true;
     g_use_bf                 : boolean := true;
+    g_use_bdo_transpose      : boolean := false;
     g_use_ring               : boolean := true;
     g_P_sq                   : natural := 1
   );
@@ -916,6 +917,7 @@ begin
         g_sim                    => g_sim,
         g_sim_sdp                => g_sim_sdp,
         g_beamset_id             => beamset_id,
+        g_use_bdo_transpose      => g_use_bdo_transpose,
         g_scope_selected_beamlet => g_scope_selected_subband,
         g_subband_raw_dat_w      => c_subband_raw_dat_w,
         g_subband_raw_fraction_w => c_subband_raw_fraction_w