yep , a tally table, combined with a dateadd seems to be what you are after.
I just put together an example, but you'd use your own tally table, and extend out and limit the results as required.
;WITH MyCTE([reference],[startdate],[pattern])
AS
(
SELECT 'TestRef-AA',convert(datetime,'09/09/2013 10:45'),'1111111 1111111 111 111 111111 1111'
)
SELECT DATEADD(wk,Tally.N,[startdate]) As CalcDate,*
FROM MyCTE
CROSS JOIN (SELECT 0 As N UNION ALL SELECT 1 UNION ALL SELECT 2) Tally
Lowell