A precoding method for generating, from a plurality of baseband signals, a plurality of precoded signals to be transmitted over the same frequency bandwidth at the same time, comprising the steps of: selecting a matrix F[i] from among N matrices while switching between the N matrices, the N matrices defining precoding performed on the plurality of baseband signals, i being an integer from 0 to N - 1, and N being an integer at least two; and generating a first precoded signal z1 and a second precoded signal z2 by precoding, in accordance with the selected matrix F[i], a first baseband signal s1 generated from a first plurality of bits and a second baseband signal s2 generated from a second plurality of bits, a first encoded block and a second encoded block being generated respectively as the first plurality of bits and the second plurality of bits using a predetermined error correction block encoding method, the first baseband signal s1 and the second baseband signal s2 being generated respectively from the first encoded block and the second encoded block to have M symbols each, the first precoded signal z1 and the second precoded signal z2 being generated to have M slots each by precoding a combination of the first baseband signal s1 and the second baseband signal s2, M being an integer at least two, the first precoded signal z1 and the second precoded signal z2 satisfying the equation (z1, z2) T = F[i](s1, s2) T the N matrices F[i] satisfying F i = 1 α 2 + 1 e jθ 11 i α × e j θ 11 i + λ α × e jθ 21 i e j θ 21 i + λ + π, where λ is a fixed value, α is a positive real number other than 1, and θ 11 (i) and θ 21 (i) satisfy e j θ 11 x − θ 21 x ≠ e j θ 11 y − θ 21 y for ∀ x, ∀ y x ≠ y; x, y = 0,1,2,..., N − 2, N − 1 selecting a matrix F[i] from among N matrices while switching between the N matrices, the N matrices defining precoding performed on the plurality of baseband signals, i being an integer from 0 to N - 1, and N being an integer at least two; and generating a first precoded signal z1 and a second precoded signal z2 by precoding, in accordance with the selected matrix F[i], a first baseband signal s1 generated from a first plurality of bits and a second baseband signal s2 generated from a second plurality of bits, a first encoded block and a second encoded block being generated respectively as the first plurality of bits and the second plurality of bits using a predetermined error correction block encoding method, the first baseband signal s1 and the second baseband signal s2 being generated respectively from the first encoded block and the second encoded block to have M symbols each, the first precoded signal z1 and the second precoded signal z2 being generated to have M slots each by precoding a combination of the first baseband signal s1 and the second baseband signal s2, M being an integer at least two, the first precoded signal z1 and the second precoded signal z2 satisfying the equation (z1, z2) T = F[i](s1, s2) T the N matrices F[i] satisfying F i = 1 α 2 + 1 e jθ 11 i α × e j θ 11 i + λ α × e jθ 21 i e j θ 21 i + λ + π, where λ is a fixed value, α is a positive real number other than 1, and θ 11 (i) and θ 21 (i) satisfy e j θ 11 x − θ 21 x ≠ e j θ 11 y − θ 21 y for ∀ x, ∀ y x ≠ y; x, y = 0,1,2,..., N − 2, N − 1